25、加餐 | ZAB协议(一):主节点崩溃了,怎么办?你好,我是韩健。 咱们都知道,系统在运行中,不可避免会出现各种各样的问题,比如进程崩溃了、服务器死机了,这些问题会导致很严重的后果,让系统没办法运行。学完了15讲后,你应该还记得,在ZAB中,写请求是必须在主节点上处理的,而且提案的广播和提交,也是由...2025-11-03
24、加餐 | TCC如何实现指令执行的原子性?你好,我是韩健。 在上一讲我提到,虽然MySQL XA能实现数据层的分布式事务,解决多个MySQL操作的事务问题,但我现在负责的这套业务系统还面临别的问题:在接收到外部的指令后,我需要访问多个内部系统,执行指令约定的操作,而且,还必须保证指令执行的原...2025-11-03
23、加餐 | PBFT算法:如何替换作恶的领导者?你好,我是韩健。 上一讲,我们了解到,PBFT可以防止备份节点作恶,因为这个算法是主节点和备份节点组成的,那你想象一下,如果主节点作恶(比如主节点接收到了客户端的请求,但就是默不作声,不执行三阶段协议),这时无论正常节点数有多少,备份节点肯定没办法达...2025-11-03
22、加餐 | MySQL XA是如何实现分布式事务的?你好,我是韩健。 相信很多同学都知道MySQL支持单机事务,那么在分布式系统中,涉及多个节点,MySQL又是怎么实现分布式事务的呢? 这个和我最近遇到的问题很类似,我现在负责的一个业务系统,需要接收来自外部的指令,然后访问多个内部其他系统来执行指令,...2025-11-03
20、基于Raft的分布式KV系统开发实战(二):如何实现代码?你好,我是韩健。 学完[上一讲]后,相信你已经了解了分布式KV系统的架构设计,同时应该也很好奇,架构背后的细节代码是怎么实现的呢? 别着急,今天这节课,我会带你弄明白这个问题。我会具体讲解分布式KV系统核心功能点的实现细节。比如,如何实现读操作对应的...2025-11-03