分布式

一致性、容错、协调与系统设计。

01

分布式系统入门:从故障模型到一致性、共识与事务

从一笔余额扣减出发,理解网络分区、复制、一致性模型、CAP、Raft、2PC、Saga、幂等与分布式系统验证。

分布式系统一致性RaftCAP分布式事务后端
02

分布式、集群与微服务:三个词分别在说什么

用同一套订单系统说明集群、分布式与微服务关注的层次,解释它们怎样组合,以及服务拆分后新增的失败边界。

分布式系统集群微服务系统设计后端
03

CAP、PACELC 与 BASE:别把取舍模型当成系统标签

从一次跨机房库存写入出发,区分 CAP 的分区语义、PACELC 的日常延迟取舍,以及 BASE 在业务设计中的实际责任。

分布式系统CAPPACELCBASE一致性系统设计
04

一致性模型:从最终一致到线性一致

用一条订单状态链路区分最终一致、会话保证、因果一致、线性一致与事务隔离,并把抽象承诺翻译成接口语义。

分布式系统一致性最终一致线性一致因果一致事务
05

超时、重试、幂等与 Exactly-once:结果未知时,系统还能相信什么

从一次创建订单超时出发,解释超时为何不等于失败,怎样设计可重试接口,以及 Exactly-once 在端到端语境中的边界。

分布式系统超时重试幂等Exactly-onceAPI 设计
06

RPC:一次远程调用可能处于哪些状态

从客户端超时看清一次 RPC 的发送、执行与响应状态,避免把网络错误误当成业务失败。

分布式系统RPC超时重试幂等接口设计
07

分布式锁:Redis、ZooKeeper 与 Fencing Token 到底解决什么问题

从多实例定时任务重复执行出发,讲清 Redis 锁的加锁、解锁、续期与故障窗口,以及 ZooKeeper、etcd 和 Fencing Token 怎样阻止过期持有者。

分布式系统RedisZooKeeperetcd分布式锁Fencing TokenJava
08

多台机器怎样生成不重复的 ID:UUID、Snowflake 与 Leaf

从短链接创建请求出发,区分主键、业务 ID 与全局 ID,拆解 UUID、Snowflake、号段模式和美团 Leaf 的生成机制、故障边界与选型方法。

分布式系统分布式 IDUUIDSnowflakeLeafMySQLJava
09

数据超过单机后怎么拆:分片键、路由、扩容迁移与一致性哈希

从短链接读写路径与支付流水实战出发,讲清分片键怎么选、全局 ID 为什么不能自动路由、取模与基因法怎样工作,以及扩容时如何迁移数据并验证正确性。

分布式系统分库分表分片键数据路由一致性哈希数据迁移MySQL
10

数据库增加副本后,为什么仍会读到旧数据:主从复制、读写分离与 Quorum

从短链接创建后立即访问却返回 404 的问题出发,讲清复制日志、复制延迟、读己之写、半同步复制、主从切换,以及 Quorum 读写集合的保证与边界。

分布式系统MySQL数据库复制读写分离复制延迟Quorum一致性
11

分布式事务:2PC、TCC、Saga、Outbox 与事务消息怎样选

从一条支付、业务确认与退款链路出发,区分原子提交、资源预留、补偿事务和可靠消息,讲清 2PC、TCC、Saga、Outbox 与事务消息的适用边界。

分布式系统分布式事务2PCTCCSagaOutbox事务消息状态机
  1. 12服务地址总在变化,调用方怎样找到它:服务发现、健康检查与故障摘除待深入
  2. 13下游故障时怎样避免拖垮整个系统:限流、熔断、隔离与降级待深入
  3. 14多台机器怎样确保定时任务只执行一次:任务调度、租约与幂等待深入
  4. 15用一个最小 Raft 实现理解选主、日志复制与成员变更待深入
  5. 16一个机房整体故障后怎样恢复:多机房、RPO 与 RTO待深入
  6. 17怎样证明系统在故障中仍然正确:故障注入与 Jepsen待深入
  7. 18综合实战:一个短链接系统怎样应对发号、分片、缓存、热点与容灾待深入