在分布式环境中是否有任何公认的领导者选举方法,其中领导者可能会在每个固定的时间间隔(或轮次)之后发生变化,而当前领导者不会关闭/断开连接?
这听起来可能是一种非常错误的方式,但我确实需要实施它,但找不到任何研究/参考。
在分布式环境中是否有任何公认的领导者选举方法,其中领导者可能会在每个固定的时间间隔(或轮次)之后发生变化,而当前领导者不会关闭/断开连接?
这听起来可能是一种非常错误的方式,但我确实需要实施它,但找不到任何研究/参考。
我没有立即意识到任何这样做的系统,因为当当前领导者正常运行并且所有正常工作的工作人员都能够与领导者交谈(即没有网络分区)时选举领导者是不必要的开销。
但是,将此功能添加到现有系统(例如Raft )应该很容易。第 5.2 节描述了领导者选举过程。只有当工作人员在一定时间内(选举超时)没有收到领导者的心跳时才会触发选举。您可以简单地添加一个条件,当您在问题中引用的固定时间间隔已经过去时,该条件也会触发选举。
您可以以类似的方式修改其他系统以获得相同的结果。