分布式系统架构的冰与火
01 | 导读
1、各式各样的架构
1)高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等。
2、管理型的技术方法
1)DevOps、应用监控、自动化运维、SOA服务治理、去IOE等。
3、使用分布式系统的两个原因
1)增大系统容量:垂直或水平拆分业务系统,让其变成一个分布式的架构。
2)加强系统可用:通过分布式架构来冗余系统以消除单点故障,提高系统的可用性。
02 | 单体应用和分布式架构
1、优缺点对比
2、分布式系统架构的难点在于系统设计,以及管理和运维。
03 | 分布式系统的发展
1、发展历程
1)70年代的模块化编程
2)80年代的面向事件设计
3)90年代的基于接口/构件设计
4)SOA—基于服务的架构
2、SOA面向服务的三个阶段
1)90年代前,单体架构,软件模块高度耦合。
2)2000年左右,比较松散的SOA架构,需要使用ESB联动相关服务。
a. 服务间不直接依赖,而是通过中间件的标准协议或是通讯框架相互依赖。—>IOC(控制反转)和DIP(依赖倒置原则)设计思想在架构中的实践。
3)2010年后,更为松耦合的微服务架构,
a. 每一个微服务都能独立完整地运行(所谓的自包含),后端单体的数据库也被微服务这样的架构分散到不同的服务中。
b. 它和传统SOA的差别在于,服务间的整合需要一个服务编排或是服务整合的引擎。
参考文献:
[1] 陈皓. 左耳听风[M]. 极客时间, 2017.
[2] 图片取自专栏文章