Erlang 长生不老药领袖选举?

Erlang 长生不老药领袖选举?,erlang,elixir,distributed-system,leader,Erlang,Elixir,Distributed System,Leader,我正在构建一个项目,在这个项目中,我需要一种在一组流程之间选举领导人的方法。当领导人失败时,必须选举新的领导人。这必须支持位于不同节点中的流程 经过几次网络搜索,我没有找到解决这个问题的简单方法。所以我想知道Erlang社区的人是如何解决这个问题的?这似乎是一个非常基本的问题,必须有一些经过战斗测试的库或方法来解决这个问题 让我知道你会怎么做 谢谢大家! 如果你想做实验,可以买一个木筏库(有几个)。如果它需要坚如磐石,使用一些外部服务,如Zookeeper。我认为这些都是主流的选择。你想要的是R

我正在构建一个项目,在这个项目中,我需要一种在一组流程之间选举领导人的方法。当领导人失败时,必须选举新的领导人。这必须支持位于不同节点中的流程

经过几次网络搜索,我没有找到解决这个问题的简单方法。所以我想知道Erlang社区的人是如何解决这个问题的?这似乎是一个非常基本的问题,必须有一些经过战斗测试的库或方法来解决这个问题

让我知道你会怎么做


谢谢大家!

如果你想做实验,可以买一个木筏库(有几个)。如果它需要坚如磐石,使用一些外部服务,如Zookeeper。我认为这些都是主流的选择。你想要的是Raft算法。我不知道它在Erlang或Elixir中有任何官方实现。是由Basho的一个家伙写的,Basho的Riak使用Raft算法,所以这可能是最优的。我只是猜测,我自己也曾使用过Raft算法。Raft、paxos、multi-paxos和flexible paxos都是算法。如上所述,存在几种实现。但是,不确定您有什么确切的要求,所以您可能需要详细说明。(例如,大脑分裂对你们来说是个问题吗?)。谢谢大家!大脑分裂确实是个问题。我想我需要自己实现其中一个算法,因为当前的实现似乎都没有准备好并经过生产测试。