23、加餐 | PBFT算法:如何替换作恶的领导者?

你好,我是韩健。 上一讲,我们了解到,PBFT可以防止备份节点作恶,因为这个算法是主节点和备份节点组成的,那你想象一下,如果主节点作恶(比如主节点接收到了客户端的请求,但就是默不作声,不执行三阶段协议),这时无论正常节点数有多少,备份节点肯定没办法达...

分布式协议与算法实战

24、加餐 | TCC如何实现指令执行的原子性?

你好,我是韩健。 在上一讲我提到,虽然MySQL XA能实现数据层的分布式事务,解决多个MySQL操作的事务问题,但我现在负责的这套业务系统还面临别的问题:在接收到外部的指令后,我需要访问多个内部系统,执行指令约定的操作,而且,还必须保证指令执行的原...

分布式协议与算法实战

25、加餐 | ZAB协议(一):主节点崩溃了,怎么办?

你好,我是韩健。 咱们都知道,系统在运行中,不可避免会出现各种各样的问题,比如进程崩溃了、服务器死机了,这些问题会导致很严重的后果,让系统没办法运行。学完了15讲后,你应该还记得,在ZAB中,写请求是必须在主节点上处理的,而且提案的广播和提交,也是由...

分布式协议与算法实战

26、加餐 | ZAB协议(二):如何从故障中恢复?

你好,我是韩健。 我们上一讲提到了ZAB的领导者选举,在我看来,它只是选举了一个适合当领导者的节点,然后把这个节点的状态设置成LEADING状态。此时,这个节点还不能作为主节点处理写请求,也不能使用领导职能(比如,它没办法阻止其他“领导者”广播提案)...

分布式协议与算法实战

27、加餐 | ZAB协议(三):如何处理读写请求?

你好,我是韩健! 你应该有这样的体会,如果你想了解一个网络服务,执行的第一个功能肯定是写操作,然后才执行读操作。比如,你要了解ZooKeeper,那么肯定会在zkCli.sh命令行中执行写操作(比如“create /geekbang 123...

分布式协议与算法实战

28、结束语 | 静下心来,享受技术的乐趣

你好,我是韩健。 一晃几个月的时间就过去了,这段日子里,我们一起在课程里沟通交流,与我而言,这是一段很特别的经历。我看到很多同学凌晨还在学习、留言,留言区里经常会看到熟悉的身影,比如约书亚、唔多志、每天晒白牙、小晏子,很感谢你们一直保持着学习的热情。...

分布式协议与算法实战
1345