用途:在设计和评审分布式系统时,提供可扩展、可靠、容错架构的模式与取舍框架,覆盖微服务、跨数据中心与多区域部署等场景。
主要能力:
- 理论基础:CAP 与 PACELC 定理,用于在网络分区与正常运行时权衡一致性、可用性与延迟。
- 一致性模型:强一致(线性化)、因果一致、最终一致、有界陈旧,并给出典型适用场景(账户余额、库存、聊天、社交信息流等)。
- 复制模式:单主(Leader-Follower,同步/异步)、多主(Multi-Leader,需冲突解决)、无主(Leaderless 仲裁,W+R>N)。
- 分区策略:哈希(一致性哈希)、范围、地理分区及各自取舍与热区风险。
- 容错模式:断路器、舱壁隔离、超时与重试(指数退避+抖动、幂等)、限流与背压。
- 分布式事务:Saga(编排与协调两种方式)、事件溯源、CQRS。
- 服务发现:客户端发现、服务端发现、服务网格。
- 缓存策略:Cache-Aside、Write-Through、Write-Behind 及 TTL、事件、手动失效。
- 决策框架与速查表:一致性模型、复制模式、分区策略、仲裁配置的选择建议,以及反模式与故障排查要点。
使用方式:作为设计阶段的参考技能,配合其中列出的详细文档(references/)、可运行示例(examples/)、ASCII 图(diagrams/)使用;也可与 Kubernetes、基础设施即代码、数据库、消息队列、可观测性、性能与安全等相关技能配合。
适用场景:微服务架构设计、跨区域扩展、分区期间的一致性/可用性选择、复制策略选型、分布式事务实现、容错服务构建、服务发现与通信设计。
限制:资料为设计模式与方法参考,未提供具体产品的性能数据、价格或部署步骤;示例与命令需以实际仓库内容为准。文中提及的具体实现(如 HBase、MongoDB、Cassandra、etcd、Spanner 等)仅作模式示例,不代表其全部行为或版本差异。