原文 服务端高并发分布式架构演进之路,本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。

  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14. 13
  15. 14

架构设计的原则:

  1. N+1设计。系统中的每个组件都应做到没有单点故障;
  2. 回滚设计。确保系统可以向前兼容,在系统升级时应能有办法回滚版本;
  3. 禁用设计。应该提供控制具体功能是否可用的配置,在系统出现故障时能够快速下线功能;
  4. 监控设计。在设计阶段就要考虑监控的手段;
  5. 多活数据中心设计。若系统需要极高的高可用,应考虑在多地实施数据中心进行多活,至少在一个机房断电的情况下系统依然可用;
  6. 采用成熟的技术。刚开发的或开源的技术往往存在很多隐藏的bug,出了问题没有商业支持可能会是一个灾难;
  7. 资源隔离设计。应避免单一业务占用全部资源;
  8. 架构应能水平扩展。系统只有做到能水平扩展,才能有效避免瓶颈问题;
  9. 非核心则购买。非核心功能若需要占用大量的研发资源才能解决,则考虑购买成熟的产品;
  10. 使用商用硬件。商用硬件能有效降低硬件故障的机率;
  11. 快速迭代。系统应该快速开发小功能模块,尽快上线进行验证,早日发现问题大大降低系统交付的风险;
  12. 无状态设计。服务接口应该做成无状态的,当前接口的访问不依赖于接口上次访问的状态。