这门课解决什么工作场景

很多后端开发者在做系统架构时,常会遇到这样的困境:业务流量上来后,单机扛不住,引入了多节点部署,却发现数据同步总是出问题,或者节点宕机后集群无法自动恢复。这门课针对的就是这类分布式环境下的核心痛点。它不教你怎么搭具体的中间件,而是带你拆解底层运转的逻辑,比如多个节点如何在一个节点出现故障时达成一致、如何防止脑裂、怎么在保证一致性的同时兼顾性能。如果你正在做微服务治理、数据库集群设计,或者经常需要排查跨节点数据不一致的疑难杂症,这些底层协议和算法知识能帮你从“知其然”过渡到“知其所以然”。

适合什么基础与建议先看哪几块

这套资料不适合零基础转码人员。它要求你已经具备扎实的编程功底,熟悉常规的网络通信,并且最好有实际的后端业务开发经验。如果你连单机并发都没接触过,直接看理论会非常吃力。建议你在学习时,先看开篇的学习路径指引,建立整体框架感。接着优先啃透理论篇的核心部分,尤其是拜占庭将军问题以及相关的共识算法。这部分是整门课的地基,理解了它,后续看各种容错机制和一致性协议时,就能明白它们在防篡改和防故障这两种不同场景下各自适用的边界,而不是死记硬背代码实现。

学完能独立做什么与资料怎么配合练习

学完后,你不会立刻成为一个能手写完整分布式框架的底层架构师,但你能独立完成几件关键的事:在面对不同业务场景时,能准确评估并选择合适的共识算法;在系统出现网络分区或节点宕机时,能根据协议原理快速定位故障原因;在团队做技术选型时,能给出有理有据的架构评估,而不是盲从流行技术。资料包含图文与音频,建议以图文为主去理解算法推导过程,音频作为通勤时的复习辅助。看理论时务必配合纸笔手动推演节点状态机的流转过程,不要只用眼睛看。每学完一个协议,尝试用自己熟悉的语言写一个最简化的伪代码原型,验证一下消息传递的逻辑,这样才算真正把知识内化成了自己的架构设计能力。


攻克分布式系统设计的关键难题

课程目录

*   01 开篇词/

  *   01 开篇词 想成为分布式高手那就先把协议和算法烂熟于心吧.html (0.48 MB)

  *   01 开篇词 想成为分布式高手那就先把协议和算法烂熟于心吧.mp3 (7.44 MB)

  *   02 学习路径 分布式协议与算法你应该这么学.html (0.83 MB)

  *   02 学习路径 分布式协议与算法你应该这么学.mp3 (11.64 MB)

*   02 理论篇/

  *   01 01 拜占庭将军问题:有叛徒的情况下,如何才能达成共识.html (3.35 MB)

  *   01 01 拜占庭将军问题:有叛徒的情况下,如何才能达成共识.mp3 (12.46 MB)

  *   02 加餐 拜占庭将军问题:如何基于签名消息实现作战计划的一致性.html (2.96 MB)

  *   02 加餐 拜占庭将军问题:如何基于签名消息实现作战计划的一致性.mp3 (9.77 MB)

  *   03 02 CAP理论:分布式系统的PH试纸,用它来测酸碱度.html (2.12 MB)

  *   03 02 CAP理论:分布式系统的PH试纸,用它来测酸碱度.mp3 (14.13 MB)

  *   04 03 ACID理论:CAP的酸,追求一致性.html (2.42 MB)

  *   04 03 ACID理论:CAP的酸,追求一致性.mp3 (9.74 MB)

  *   05 04 BASE理论:CAP的碱,追求可用性.html (1.02 MB)

  *   05 04 BASE理论:CAP的碱,追求可用性.mp3 (10.32 MB)

*   03 协议和算法篇/

  *   01 05 Paxos算法(一):如何在多个节点间确定某变量的值.html (2.40 MB)

  *   01 05 Paxos算法(一):如何在多个节点间确定某变量的值.mp3 (10.51 MB)

  *   02 06 Paxos算法(二):Multi-Paxos不是一个算法,而是统称.html (2.03 MB)

  *   02 06 Paxos算法(二):Multi-Paxos不是一个算法,而是统称.mp3 (8.12 MB)

  *   03 07 Raft算法(一):如何选举领导者.html (2.64 MB)

  *   03 07 Raft算法(一):如何选举领导者.mp3 (10.94 MB)

  *   04 08 Raft算法(二):如何复制日志.html (1.75 MB)

  *   04 08 Raft算法(二):如何复制日志.mp3 (7.76 MB)

  *   05 09 Raft算法(三):如何解决成员变更的问题.html (1.44 MB)

  *   05 09 Raft算法(三):如何解决成员变更的问题.mp3 (12.11 MB)

  *   06 10 一致哈希算法:如何分群,突破集群的“领导者”限制.html (2.02 MB)

  *   06 10 一致哈希算法:如何分群,突破集群的“领导者”限制.mp3 (9.82 MB)

  *   07 11 Gossip协议:流言蜚语,原来也可以实现一致性.html (2.69 MB)

  *   07 11 Gossip协议:流言蜚语,原来也可以实现一致性.mp3 (9.28 MB)

  *   08 12 Quorum NWR算法:想要灵活地自定义一致性,没问题!.html (1.24 MB)

  *   08 12 Quorum NWR算法:想要灵活地自定义一致性,没问题!.mp3 (8.69 MB)

  *   09 13 PBFT算法:有人作恶,如何达成共识.html (1.79 MB)

  *   09 13 PBFT算法:有人作恶,如何达成共识.mp3 (9.46 MB)

  *   10 加餐 PBFT算法:如何替换作恶的领导者.html (0.90 MB)

  *   10 加餐 PBFT算法:如何替换作恶的领导者.mp3 (9.50 MB)

  *   11 14 PoW算法:有办法黑比特币吗.html (1.32 MB)

  *   11 14 PoW算法:有办法黑比特币吗.mp3 (8.90 MB)

  *   12 15 ZAB协议:如何实现操作的顺序性.html (1.47 MB)

  *   12 15 ZAB协议:如何实现操作的顺序性.mp3 (10.60 MB)

  *   13 加餐 ZAB协议(一):主节点崩溃了,怎么办.html (1.21 MB)

  *   13 加餐 ZAB协议(一):主节点崩溃了,怎么办.mp3 (14.81 MB)

  *   14 加餐 ZAB协议(二):如何从故障中恢复.html (1.70 MB)

  *   14 加餐 ZAB协议(二):如何从故障中恢复.mp3 (14.82 MB)

  *   15 加餐 ZAB协议(三):如何处理读写请求.html (1.03 MB)

  *   15 加餐 ZAB协议(三):如何处理读写请求.mp3 (11.14 MB)

  *   16 加餐 MySQL XA是如何实现分布式事务的.html (0.96 MB)

  *   16 加餐 MySQL XA是如何实现分布式事务的.mp3 (9.27 MB)

  *   17 加餐 TCC如何实现指令执行的原子性.html (0.88 MB)

  *   17 加餐 TCC如何实现指令执行的原子性.mp3 (8.88 MB)

*   04 实战篇/

  *   01 16 InfluxDB企业版一致性实现剖析:他山之石,可以攻玉.html (1.70 MB)

  *   01 16 InfluxDB企业版一致性实现剖析:他山之石,可以攻玉.mp3 (13.34 MB)

  *   02 17 Hashicorp Raft(一):如何跨过理论和代码之间的鸿沟.html (2.22 MB)

  *   02 17 Hashicorp Raft(一):如何跨过理论和代码之间的鸿沟.mp3 (15.44 MB)

  *   03 18 Hashicorp Raft(二):如何以“集群节点”为中心使用API.html (0.93 MB)

  *   03 18 Hashicorp Raft(二):如何以“集群节点”为中心使用API.mp3 (11.30 MB)

  *   04 19 基于Raft的分布式KV系统开发实战(一):如何设计架构.html (1.27 MB)

  *   04 19 基于Raft的分布式KV系统开发实战(一):如何设计架构.mp3 (12.04 MB)

  *   05 20 基于Raft的分布式KV系统开发实战(二):如何实现代码.html (2.08 MB)

  *   05 20 基于Raft的分布式KV系统开发实战(二):如何实现代码.mp3 (12.44 MB)

*   05 结束语/

  *   01 结束语 静下心来,享受技术的乐趣.html (0.52 MB)

  *   01 结束语 静下心来,享受技术的乐趣.mp3 (5.81 MB)

  *   02 结课测试 这些分布式协议与算法的知识,你都掌握了吗.html (0.28 MB)