从理论上给出了崩溃容错的概念。CTF用于保证在leader服务器崩溃的情况下,系统仍在运行。我需要实现一个分布式系统(聊天应用程序),还需要实现一个崩溃容错。为此,我必须使用所谓的“心跳”来检查leader服务器是否仍然“活着”。
我的问题是,是否有人可以向我展示一个很好的代码示例来实现这样的心跳?
发布于 2021-06-19 23:27:24
心跳机制的适用性取决于集群的大小或您手头的典型用例/部署场景。
许多基于共识的算法依赖于心跳,因为心跳用于确定领导者或领导者服务器的状态。
可以参考raft算法,其中心跳从领导者服务器发送到追随者,您也可以在领导者崩溃的情况下使用他们的领导者选举机制。
对于大型集群,只有心跳机制可能无法扩展,因此故障检测器以及用于传播的基于八卦的协议是可以参考的首选。
参考文献少:https://raft.github.io/、https://github.com/topics/gossip-protocol
https://stackoverflow.com/questions/67780574
复制相似问题