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