在Erlang集群管理中使用八卦协议



我是Erlang和分布式计算的新手。我们是一个小团队,正在尝试构建一个小型消息服务器。我们正在研究如何管理集群状态——我们在Erlang开源项目中遇到了一些自定义实现,比如Riak、rabbitMq、ejabbered和Vernemq。

似乎Erlang社区正在使用八卦协议进行集群管理-我看到RabbitMQ最近的帖子(https://groups.google.com/forum/#!)searchin/rabbitmq-users/协议/rabbitmq-users八卦20美元/jvQQy30kLTI/hIDFw94SddQJ

我的问题是——除了八卦协议之外,还有其他的集群管理方式吗?还有什么是开源的Erlang实现的八卦协议。在考虑Erlang节点管理时需要考虑哪些因素?

谢谢你的帮助。

我也不是分布式计算专家,所以我的答案可能有问题,但无论如何。一切都取决于你的集群状态和你有什么需求。

如果你必须保证每个集群参与者之间状态的一致性,你将最终采用某种分布式共识机制,如zk, paxos或raft。

如果你需要高可用性,你需要一些基于八卦的协议,让你的应用程序意识到可能的数据不一致(就像Riak对它的CRDT数据类型和矢量时钟所做的那样)。

如果你不知道你需要什么,我会选择第一个选项,因为从开发人员的角度来看,这很容易。如果我清楚地知道第一个选项不再是一个选项,我会去第二个选项;)

相关内容

  • 没有找到相关文章

最新更新