这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记
(一)微服务架构介绍
系统架构的演进过程
单体架构
- All in one process
- 优势:性能最高、冗余小
- 劣势:debug困难、模块相互影响、开发流程模糊
垂直应用架构
- 按照业务线垂直划分
- 优势:业务独立开发维护
- 劣势:不同业务存在冗余、每个业务实际上还是单体架构
分布式架构
- 抽出与业务无关的公共模块
- 优势:业务无关的独立服务
- 劣势:服务模块bug导致全站瘫痪、调用关系复杂
SOA架构
- 面向服务
- 优势:服务注册
- 劣势:整个系统的设计是中心化的、需要从上至下设计
微服务架构
- 彻底的服务化
- 优势:开发效率、业务独立、自下而上、故障隔离
- 劣势:运维、观测、安全、分布式
(二)微服务架构的服务治理
服务注册
依靠网关和DNS系统实现服务的注册和发现
服务发布
蓝绿部署
灰度发布(金丝雀发布、滚动发布)
流量治理
基于地区、集群、实例、请求等维度进行治理
负载均衡
用一些常见的Load Banlance进行不同实例的负载分发
稳定性治理
从限流、熔断、过载保护、降级入手,进行稳定性的治理
到这里就先结束啦!
翻过这座山,他们就会听到你的故事!加油!