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 集群 .erlang cookie 只能由所有者访问