分布式协议与算法实战课程-攻克分布式系统设计的关键难题
在这个人人都喊着“高并发”“高可用”的时代里,分布式系统的重要性不言而喻。从整个行业的招聘趋势就能看出来,大型互联网公司在招聘后端工程师的时候,都会要求候选人有分布式相关的工作经验。
可分布式不是一两句话就能说清楚的,分布式架构、分布式存储、分布式中间件、分布式应用等等这些名词背后都会涉及一连串的技术,如果你不分主次,挨个去学习这些技术,肯定会疲惫不堪,得不偿失。
在这个专栏中,作者将自己多年来,支撑海量互联网服务中的分布式协议和算法的实战心得凝结成20篇文章。从理论到算法再到实战,带你建立学习信心,一步步将核心的算法深化为自己的知识体系,逐渐攻克分布式系统设计的关键难题。
资源目录
理论篇 (5讲)
01 | 拜占庭将军问题:有叛徒的情况下,如何才能达成共识?
加餐 | 拜占庭将军问题:如何基于签名消息实现作战计划的一致性?
02 | CAP理论:分布式系统的PH试纸,用它来测酸碱度
03 | ACID理论:CAP的酸,追求一致性
04 | BASE理论:CAP的碱,追求可用性
协议和算法篇 (17讲)
05 | Paxos算法(一):如何在多个节点间确定某变量的值?
06 | Paxos算法(二):Multi-Paxos不是一个算法,而是统称
07 | Raft算法(一):如何选举领导者?
08 | Raft算法(二):如何复制日志?
09 | Raft算法(三):如何解决成员变更的问题?
10 | 一致哈希算法:如何分群,突破集群的“领导者”限制?
11 | Gossip协议:流言蜚语,原来也可以实现一致性
12 | Quorum NWR算法:想要灵活地自定义一致性,没问题!
13 | PBFT算法:有人作恶,如何达成共识?
加餐 | PBFT算法:如何替换作恶的领导者?
14 | PoW算法:有办法黑比特币吗?
15 | ZAB协议:如何实现操作的顺序性?
加餐 | ZAB协议(一):主节点崩溃了,怎么办?
加餐 | ZAB协议(二):如何从故障中恢复?
加餐 | ZAB协议(三):如何处理读写请求?
加餐 | MySQL XA是如何实现分布式事务的?
加餐 | TCC如何实现指令执行的原子性?
实战篇 (5讲)
16 | InfluxDB企业版一致性实现剖析:他山之石,可以攻玉
17 | Hashicorp Raft(一):如何跨过理论和代码之间的鸿沟?
18 | Hashicorp Raft(二):如何以“集群节点”为中心使用API?
19 | 基于Raft的分布式KV系统开发实战(一):如何设计架构?
20 | 基于Raft的分布式KV系统开发实战(二):如何实现代码?
结束语 (2讲)
结束语 | 静下心来,享受技术的乐趣
结课测试 | 这些分布式协议与算法的知识,你都掌握了吗?
部分资源收费是对搜集、整体及网站运营必须的支出做适当补偿,敬请谅解。
每位访客应尊重版权方的知识产权,支持版权方出版社和出版社
如遇到资源失效请联系客服QQ:1516278755