ejabberd使用主Slave和Master Master进行聚类不能避免单点故障

时间:2016-01-28 12:21:07

标签: ejabberd

每当Master在ejabberd中关闭时,Cluster slave将无法处理请求。我按照以下教程进行操作: http://chadillac.tumblr.com/post/35967173942/easy-ejabberd-clustering-guide-mnesia-mysql ,并尝试使用join_node()和join_as_master()。但它不起作用。我的集群正在运行,并且我使用mysql数据库作为两个节点的单独数据库。我也尝试使用join作为主slave和master master方法。两者都没有努力避免单点的fauilure。 是否有必要同步奴隶和主mnesia数据库?请任何人都可以帮助我...

1 个答案:

答案 0 :(得分:0)

如果以正确的方式配置ejabberd,则没有单点故障。在ejabberd中没有主从的东西。 ejabberd是master-master,如果使用官方ejabberd文档中描述的join_cluster命令对其进行配置:http://docs.ejabberd.im/admin/guide/clustering/

您还需要将其他服务配置为冗余: - 负载平衡器 - MySQL

一旦完成,我看不出你能看到的失败点。如果一个节点必须关闭,该服务对于连接在其他节点上的用户保持正常工作,并且已断开连接的用户可以在任何剩余节点上重新连接。

如果您的意思是如果您停止两个节点然后尝试仅启动第一个停止,则这是Mnesia分布式数据库的正常行为。这是一个已在此处回答的重复问题:ejabberd clustering, Slave doesn't work when master goes down

注意:您指向的博客文章已过时。