一.脑图
二.笔记
- 一.大规模服务化架构
- 1.分布式系统的架构演变过程
- 单机架构
- 集群架构
- 垂直拆分业务子系统
- 根据系统业务功能的不同拆分多个业务模块,由不同的业务团队负责承建,分而治之,独立部署。
- 以大型电商网站为例,拆分为首页、用户、搜索、广告、购物、订单、商品、收益结算等子系统
- 注意把控拆分系统等粒度,如果拆分过细,会导致维护成本过高
- 作用
- 降低业务耦合、实现高内聚低耦合,提升系统容错性
- 业务垂直化改造可以防止一些非核心模块的问题导致核心模块出现问题
- 根据系统业务功能的不同拆分多个业务模块,由不同的业务团队负责承建,分而治之,独立部署。
- 服务化架构演进
- 前提
- 进行服务化改造的前提条件: 用户规模逐渐扩大,多元化的业务出现,技术人员扩充导致多人维护一个模块时,就可以进行服务化的改造,否则都不太适合
- 目的
- 整合共同服务
- 整合底层资源
- 如 数据库连接
- 减少功能开发维护难度(代码解耦)
- 前提
- 前后端分离架构演进
- API网关服务
- 职责
- 系统入口,所有前端请求通过网关访问后端服务
- 统一负责处理公共逻辑
- 比如:鉴权、流控、日志记录、安全防护、负载均衡、灰度发布
- 灰度发布
- 通过一系列的规则和策略,先将一小部分的用户作为“金丝雀”,让其请求路由到新版本应用上进行观察,待运行正常后,再逐步导流更多的用户到灰度环境中
- 作用
- 快速试错,尽可能控制和缩小问题的影响范围
- 收集用户的使用反馈,完善和改进当前产品
- 选型
- springCloud + Zuul
- Dubbo + 自建WebServer
- 网关层的引入并非必须,但是业务越复杂,网关的好处就会越明显
- 职责
- 分布式多活数据中心架构演进
- 主中心负责核心业务的正常流转,其他数据中心负责数据备份及承担一些边缘业务
- 假设主数据中心发生重大灾难,灾备数据中心可以接管,减少对用户的影响
- 传统企业
- 两地三中心
- 生产数据中心
- 两地三中心
- 主中心负责核心业务的正常流转,其他数据中心负责数据备份及承担一些边缘业务
- 1.分布式系统的架构演变过程