ejabberd 集群:多主或主从

Posted

技术标签:

【中文标题】ejabberd 集群:多主或主从【英文标题】:ejabberd cluster: Multi-master or Master-slave 【发布时间】:2015-08-16 20:36:24 【问题描述】:

到目前为止,我遇到的是这个 -

    master-slave 配置中设置ejabberd 集群,会出现单点故障,并且人们会遇到问题,即使在修复主服务器后(如果它出现故障),集群也无法再次运行.此外,有时,必须再次访问每个从站的 ejabberd 实例以使其正常工作,或者必须再次输入 mnesia 命令以使主站与从站通信。 在multi-master 配置中设置ejabberd 集群,然后可以将任何节点从集群中取出,而不会导致整个集群停机。基本上,不存在单点故障,这也是official documentation 的ejabberd 告诉您通过它们在ejabberdctl 脚本中公开的join_cluster 参数执行操作的方式。但是,在这种情况下,所有数据都在两个节点之间复制,在我看来这是一个很大的性能开销。

所以归结为这个。

什么是最好的/推荐的/流行的模式,在这种模式下,应该设置 2 个节点的 ejabberd 集群,主要考虑性能,但也要牢记其他关键因素(容错、负载平衡)。

【问题讨论】:

【参考方案1】:

ejabberd 中只有一种模式。基本上,它就像你描述的多主控一样工作。主从基本上是相同的设置,没有任何流量通过负载平衡机制发送到第二个节点。

所以案例 2 是要走的路。

【讨论】:

以上是关于ejabberd 集群:多主或主从的主要内容,如果未能解决你的问题,请参考以下文章

Ejabberd集群聊天不起作用

集群 ejabberd 的 MUC 和 PubSub 主机

集群中 ejabberd 节点的最大数量是不是有限制?

Ejabberd 集群 .erlang cookie 只能由所有者访问

ejabberd集群,当master宕机时,Slave不起作用

格式:“读取 /opt/ejabberd/.erlang.cookie 时出错:eacces”