Skip to content

鸡蛋篮子理论

简介: 本质上是一种"拆分"思想, 是高性能, 高可用, 可拓展三类不同架构设计背后统一的指导理论

(说人话: 就是用来指导拆解系统复杂度的)

  1. 第一法则: 拆分, 如果一个篮子数不清, 则拆分多个篮子再数
  • 针对可拓展架构设计
    • 可拓展, 系统适应变化的能力, 包含可理解和可复用两个部分
    • 可伸缩, 系统通过添加更多资源来提升性能的能力
  • 化繁为简, 化大为小
  1. 第二法则: 叠加, 如果一个篮子装不下, 用多个篮子
  • 针对高性能架构设计
    • 任务分配, 将任务分配给多个服务器执行, 不同服务器的职责是相同的, 如NG, DNS
    • 任务分解, 将服务器分为不同角色, 不同服务器职责不同, 处理不同的业务, 如数据库读写分离
  • 增加更多处理资源
  1. 第三法则: 冗余, 不要把所有鸡蛋放在一个篮子里, 放多个篮子
  • 针对高可用架构设计
    • 任务分配, 高性能考虑的是正常处理, 高可用考虑是异常处理
    • 任务分解, 避免业务的互相影响, 保证局部的可靠性
  • 冗余资源和数据