《分布式系统模式》中文版
《分布式系统模式》(Patterns of Distributed Systems)是 Unmesh Joshi 编写的一系列关于分布式系统实现的文章。这个系列的文章采用模式的格式,介绍了像 Kafka、Zookeeper 这种分布式系统在实现过程采用的通用模式,是学习分布式系统实现的基础。
我很少推荐其他人的开源项目,但这个我必须推荐。自微服务出现以来,很少有人总结微服务的架构模式。更多人谈论的还是设计原则。
原则和模式有很大不同。原则是一段自然语言描述,告诉你应该(或者不应该)怎么做。模式更加清晰和具体,它是类或者组件间关系的现有模板,可以被形式化成UML图(单机)或者拓扑图(多机)。
目录
- 一致性内核(Consistent Core)
- 固定分区(Fixed Partitions)
- 追随者读取(Follower Reads)
- 世代时钟(Generation Clock)
- Gossip 传播(Gossip Dissemination)
- 心跳(HeartBeat)
- 高水位标记(High-Water Mark)
- 混合时钟(Hybrid Clock)
- 幂等接收者(Idempotent Receiver)
- 键值与值(Key And Value)
- Lamport 时钟(Lamport Clock)
- 领导者和追随者(Leader and Followers)
- 租约(Lease)
- 低水位标记(Low-Water Mark)
- Paxos
- Quorum
- 可复制日志(Replicated Log)
- 批量请求(Request Batch)
- 请求管道(Request Pipeline)
- 分段日志(Segmented Log)
- 单一 Socket 通道(Single Socket Channel)
- 单一更新队列(Singular Update Queue)
- 状态监控(State Watch)
- 两阶段提交(Two Phase Commit)
- 版本向量(Version Vector)
- 有版本的值(Versioned Values)
- 预写日志(Write-Ahead Log)