|
|
# SUMMARY
|
|
|
|
|
|
* [简介](./README.md)
|
|
|
* [开篇词 | 想成为分布式高手?那就先把协议和算法烂熟于心吧](./docs/195652.md)
|
|
|
* [学习路径 | 分布式协议与算法你应该这么学](./docs/256765.md)
|
|
|
* [01 | 拜占庭将军问题:有叛徒的情况下,如何才能达成共识?](./docs/195662.md)
|
|
|
* [加餐 | 拜占庭将军问题:如何基于签名消息实现作战计划的一致性?](./docs/215640.md)
|
|
|
* [02 | CAP理论:分布式系统的PH试纸,用它来测酸碱度](./docs/195675.md)
|
|
|
* [03 | ACID理论:CAP的酸,追求一致性](./docs/199663.md)
|
|
|
* [04 | BASE理论:CAP的碱,追求可用性](./docs/200717.md)
|
|
|
* [05 | Paxos算法(一):如何在多个节点间确定某变量的值?](./docs/201700.md)
|
|
|
* [06 | Paxos算法(二):Multi-Paxos不是一个算法,而是统称](./docs/202772.md)
|
|
|
* [07 | Raft算法(一):如何选举领导者?](./docs/204472.md)
|
|
|
* [08 | Raft算法(二):如何复制日志?](./docs/205784.md)
|
|
|
* [09 | Raft算法(三):如何解决成员变更的问题?](./docs/206274.md)
|
|
|
* [10 | 一致哈希算法:如何分群,突破集群的“领导者”限制?](./docs/207426.md)
|
|
|
* [11 | Gossip协议:流言蜚语,原来也可以实现一致性](./docs/208182.md)
|
|
|
* [12 | Quorum NWR算法:想要灵活地自定义一致性,没问题!](./docs/209130.md)
|
|
|
* [13 | PBFT算法:有人作恶,如何达成共识?](./docs/209450.md)
|
|
|
* [加餐 | PBFT算法:如何替换作恶的领导者?](./docs/242500.md)
|
|
|
* [14 | PoW算法:有办法黑比特币吗?](./docs/210887.md)
|
|
|
* [15 | ZAB协议:如何实现操作的顺序性?](./docs/229975.md)
|
|
|
* [加餐 | ZAB协议(一):主节点崩溃了,怎么办?](./docs/232412.md)
|
|
|
* [加餐 | ZAB协议(二):如何从故障中恢复?](./docs/237340.md)
|
|
|
* [加餐 | ZAB协议(三):如何处理读写请求?](./docs/237950.md)
|
|
|
* [加餐 | MySQL XA是如何实现分布式事务的?](./docs/252148.md)
|
|
|
* [加餐 | TCC如何实现指令执行的原子性?](./docs/254956.md)
|
|
|
* [16 | InfluxDB企业版一致性实现剖析:他山之石,可以攻玉](./docs/212394.md)
|
|
|
* [17 | Hashicorp Raft(一):如何跨过理论和代码之间的鸿沟?](./docs/213872.md)
|
|
|
* [18 | Hashicorp Raft(二):如何以“集群节点”为中心使用API?](./docs/215116.md)
|
|
|
* [19 | 基于Raft的分布式KV系统开发实战(一):如何设计架构?](./docs/217049.md)
|
|
|
* [20 | 基于Raft的分布式KV系统开发实战(二):如何实现代码?](./docs/218093.md)
|
|
|
* [结束语 | 静下心来,享受技术的乐趣](./docs/218938.md)
|
|
|
* [结课测试 | 这些分布式协议与算法的知识,你都掌握了吗?](./docs/262066.md)
|