我正在阅读有关分布式共识的协议,并且遇到了Paxos。它指出您需要Paxos进行领导选举。 Article主张相同。因此,我的问题是,当Cassandra是环形架构而不是主从架构时,为什么它需要一个领导者选举机制。而且,如果答案是肯定的,那么卡桑德拉环组织中的领导者的角色是什么。当八卦协议用于环网通信时。
答案 0 :(得分:2)
本文演示了一个示例,该示例使用Cassandra的“轻量交易”功能实现了领导者选举算法。它不是为Cassandra选择一个主节点。
答案 1 :(得分:1)
领导者选举系统仅用于轻量交易。轻量级交易使用户可以隔离性能价格。
请考虑以下示例: 系统为用户管理资金。 假设有一个用户想要在帐户中插入100 $。
当前余额(0 $)+新钱(100 $)= 100 $。
另一个用户希望更新相同的帐户。他在该帐户中插入了20美元。 他的计算发生在第一人称插入他的钱之前。
当前余额(0 $)+新钱(20 $)= 20 $。
人们希望两次插入货币后的余额为120美元。但是,如果没有领导者的选举,一个写操作将覆盖另一个写操作,根据最后完成的写操作,您将剩下100美元或20美元。
领导者选举允许节点在单个资源上同步其更新,以确保每个计算都被隔离。 “如果值是0 $,我将更新该值。”选择完毕,以便一个节点可以针对特定请求协调事务。
在我们的示例中,将更新100 $,但20 $将失败,用户需要重试。
请记住,此领导者体系结构与主/从体系结构明显不同。在这种情况下不会出现单点故障,因为领导者可以是特定请求的任何节点。
有关此主题的更多信息,您可以找到here。