分布式架构总结

78 阅读1分钟

21 | 分布式架构的冰与火

使用分布式架构的2个原因:

  1. 增大系统容量
  2. 加强系统可用性

分布式系统发展过程:

  1. 70年代模块化编程
  2. 80年代面向模块编程
  3. 90年代基于接口/构件设计
  4. 2000年左右出现SOA
  5. 2010年左右出现微服务

22 | 从亚马逊的实践,谈分布式系统的难点

亚马逊是最早提出并实践分布式服务化架构的公司。

亚马逊架构规定:

  1. 所有团队的程序模块都要通过Service Interface方式将其数据和功能开放出来。
  2. 团队之间程序通信,都要通过这些接口。
  3. 除此之外,没有其他通信方式。
  4. 任何技术都可用。
  5. 所有的Service Interface,都必须从骨子里到表面设计成对外开放的。
  6. 不这样做的人会被炒鱿鱼。

亚马逊的最佳实践:

  1. 分布式服务的架构需要分布式的团队架构
  2. 分布式服务差错不容易。
  3. 没有专职的测试人员,开发人员做所有的事情。
  4. 运维优先。
  5. 内部服务和外部服务保持一致。

分布式系统中需要注意的问题:

  1. 异构系统的不标准问题
    • 软件和应用不标准
    • 通信协议不标准
    • 数据格式不标准
    • 开发和运维的过程和方法不标准
  2. 系统架构中的服务依赖性问题
  3. 故障发生的概率更大
  4. 多层架构的运维复杂度更大
    • 我们把系统分成基础层、平台层、应用层和接入层