用途:面向数据复杂度(而非计算)成为瓶颈的系统,提供分布式系统、数据架构与可靠性工程的设计决策指南,源自 Martin Kleppmann《设计数据密集型应用》。
主要能力:
- 一致性模型选择:强一致(线性化+同步复制)、因果一致、最终一致+冲突解决、读己之写/会话一致。
- 扩展架构决策:本地法定读、按键水平分区+分区内事务、CQRS 读写分离、用比较并交换替代分布式锁。
- 故障处理:幂等操作+唯一请求 ID 重试、fencing token、saga 补偿事务替代 2PC、熔断器+对冲请求。
- 失效模式与修复:脑裂协调、级联故障放大、写后读数据消失、幻影分布式锁、缓存惊群,各含症状、根因、检测规则与分级修复。
- 质量门:一致性模型显式选择、负载参数埋点(p99/p999)、故障注入测试、法定数验证(w+r>n)、可观测性与回滚验证。
使用方式:按 IF/THEN 决策点判断场景,选择对应策略;示例含原子库存扣减的 SQL 比较并交换写法(UPDATE inventory SET quantity=quantity-1, version=version+1 WHERE product_id=? AND quantity>=1 AND version=?),并说明超时用 fencing token 防重复扣减、数据库不可用应快速失败。
适用场景:电商库存、社交信息流等需要权衡一致性与可用性的数据密集型系统。
限制:不适用于纯计算问题(ML 训练、渲染)、单机本地数据应用、可接受“永不一致”的系统、硬实时系统;消息队列、数据库模式、微服务边界、监控告警应委托其他技能。具体平台、收费与价格暂未提供。