当前位置: 首页 > news >正文

沈阳海外模板建站湖南网站建设加盟代理

沈阳海外模板建站,湖南网站建设加盟代理,住房和城乡建设部网站关于污水运行负荷率要求的文件,南京政府网站建设逃离单体地狱 FTGO单体架构 ​​​​​​​作者用国外FTGO公司(一家做线餐饮外卖)的应用程序举例,阐述了单体架构的优缺点。FTGO应用架构如下: 应用程序是单体应用,具有六边形架构,最内侧是业务逻辑&…

逃离单体地狱

FTGO单体架构

​​​​​​​作者用国外FTGO公司(一家做线餐饮外卖)的应用程序举例,阐述了单体架构的优缺点。FTGO应用架构如下:在这里插入图片描述

应用程序是单体应用,具有六边形架构,最内侧是业务逻辑,包含订单管理、配送管理、用户管理等。业务逻辑外边是实现用户界面的适配器和与外部系统对接的适配器。外部系统如:消息服务、邮件服务、支付服务、数据库。通过这些适配器,业务逻辑可以访问数据库,调用外部服务。

单体架构的好处

  1. 应用开发简单:只需要构建这一个应用就可以了。
  2. 易于大规模的更改:可以更改代码和数据库模式,然后构建和部署。
  3. 测试相对简单直观:只有这一个应用,测接口或者使用Selenium就行了,Selenium是一个可以控制浏览器的工具。
  4. 部署简单:部署时开发者唯一要做的把WAR文件复制到安装了tomcat服务器上。
  5. 横向扩展不费吹会之力:可以运行多个实例,有一个负载均衡器进行调度。这里提一下什么是横向扩展和纵向扩展:
    横向扩展和纵向扩展都是一种架构理念。
    横向扩展是向环境中添加机器或节点,如给服务新增一台机器/节点,给mysql新增个从库等,各个节点共同完成。众人拾柴火焰高
    纵向发展是提高单个节点的处理能力,如给mysql增加内存、提升机器cpu性能等。注重个人发展,个人能力顶呱呱

单体架构的坏处

  1. 过度复杂性吓退开发者:系统庞大复杂,开发者很难梳理出其中逻辑,更改或新增功能时,困难又耗时,这种情况随着每一次开发会越来越糟糕,有点像业内说的“堆shi山”,哈哈哈。
  2. 开发速度缓慢:系统太庞大,构建、启动、测试、部署花费的时间会越来越长,严重影响开发效率。
  3. 难以扩展:这里的扩展是指系统提供的功能越多,就需要越多的资源。如内存、cpu、gpu。一般的服务器满足不了,得需要高性能的服务器。
  4. 交付不可靠:一个模块出了问题,整个服务就可能故障或宕机。容易出问题的其中一个原因就是因为系统过于庞大而无法进行全面的测试。

拯救之道:微服务架构

微服务概念

Netfix著名架构师将微服务定义为面向服务的架构,由松耦合和具有边界上下文多的元素组成。作者描述了一个三维可扩展模型来更好的说明
在这里插入图片描述
X轴:复制实例,并实现负载均衡,提高吞吐量和可用性。没啥好说的。属于上边提到的横向扩展了。

Y轴:根据功能把应用拆分成服务。降低应用复杂性。
在这里插入图片描述

Z轴:根据请求的属性就行路由请求,每个实例负责数据的一部分子集。如查询用户信息,根据useId将请求路由到对应实例。


在这里插入图片描述
微服务的一个关键特性就是每个服务之间都是松耦合的,仅通过API进行通信,实现松耦合的方式之一就是每个服务都有自己的私有数据库

FTGO微服务架构

在这里插入图片描述
将单体应用拆成订单管理、配送管理、餐馆管理、用户管理等服务。每个服务和API都有着其清晰的定义,有着独立数据库,也可以独立开发、部署、扩展

微服务好处

  1. 大型的复杂应用程序可以持续交付和持续部署,是微服务最大好处
  2. 每个服务相对较小,易维护、可独立扩展、部署、容错性高,可实现团队自治。巴拉巴拉…

微服务弊端

微服务并不是一种银弹(类似一种特效武器),不是说用微服务就可以解决软件中所有问题了。

  1. 服务拆分和定义是一个挑战。如何拆分和定义确实需要考虑好。不然可能拆分成一组耦合度很高的微服务架构。
  2. 分布式系统带来的复杂性。一个服务变成了多个了,那么服务之间就需要通信了。这比一个服务调用本地方法要复杂,需要考虑远程服务不可用或高延迟情况,做故障处理。开发的时候要打开多个应用了,测试的时候之前要部署一个应用,现在可能要部署多个了。如果应用不属于同一个团队,部署钱要和其他团队沟通好。
  3. 什么阶段使用微服务?刚开始开发一个项目,需要快速迭代的时候,精心设计分布式架构会减缓开发速度。当问题复杂的时候,就需要将应用程序分解成一组服务了。但如何将重构复杂的应用程序,也是一个问题。
http://www.ds6.com.cn/news/69864.html

相关文章:

  • 500网站建设网站seo优化步骤
  • 网站建设构思网站优化 秦皇岛
  • 网站做外链什么意思ip软件点击百度竞价推广
  • 改动网站标题公司域名查询官网
  • 做简历的网站都有哪些内容文明seo技术教程网
  • 网站建设+人员+年终总结手机百度如何发布作品
  • 在线网页截图工具seo的内容怎么优化
  • 甘肃搜索引擎网络优化百度seo营销公司
  • 免费推广企业网站广东东莞疫情最新消息
  • 江苏省住房和城乡建设部网站优化网站收费标准
  • 邯郸做网站的公司2022年热点营销案例
  • 欧泰国际物流网站电子商务网店运营推广
  • wordpress word发布文章搜索引擎优化排名关键字广告
  • 校园二手物品交易网站开发背景软文营销策划
  • 聚企网厦门seo专业培训学校
  • 深圳seo网站建设搜索引擎的使用方法和技巧
  • 青海住房与建设厅网站培训课
  • 随州学做网站的学校网站建设与管理就业前景
  • wordpress have_posts()网站seo怎么做
  • 哈尔滨企业建站服务商销售的三个核心点
  • 做网站黑吃黑是什么罪平台推广策略都有哪些
  • wordpress 文章和页面搜索引擎优化策略有哪些
  • 金华市建设局婺城分局网站湖南网站建设seo
  • 扒完网站代码之后怎么做模板seo课程培训入门
  • 30天网站建设实录教程手机网站制作平台
  • wordpress古腾堡编辑器sem与seo的区别
  • 做网站需要什么营业执照腾讯企业邮箱登录入口
  • 湖州seo排名seoul怎么读
  • 北京网站建设有哪些公司网络推广应该怎么做啊
  • 我要做一个网站 需要营业范围吗百度一下主页官网