摘自 分布式系统架构的冰与火 左耳听风
分布式系统架构的优缺点
需要分布式系统架构,来代替传统的单体架构的原因:
- 增大系统容量 –> 提高性能
单台机器的性能无法满足要求时,需要垂直或者水平拆分成分布式系统架构,让更多的机器去承担。 - 加强系统可用 –> 提高服务可用性
避免单点故障。
分布式系统是一种trade-off
分布式系统的发展
SOA——基于服务的架构
- 20 世纪 90 年代前,是单体架构,软件模块高度耦合。
- 2000 年左右出现了比较松耦合的 SOA 架构,这个架构需要一个标准的协议或是中间件来联动其它相关联的服务.
- 而 2010 年后,出现了微服务架构,这个架构更为松耦合。每一个微服务都能独立完整地运行(所谓的自包含),后端单体的数据库也被微服务这样的架构分散到不同的服务中。而它和传统 SOA 的差别在于,服务间的整合需要一个服务编排或是服务整合的引擎。就好像交响乐中需要有一个指挥来把所有乐器编排和组织在一起。
一般来说,这个编排和组织引擎可以是工作流引擎,也可以是网关。当然,还需要辅助于像容器化调度这样的技术方式,如 Kubernetes.