如何设置冗余的ejabberd服务器?


1

我目前在domain运行一个ejabberd服务器A。它有一堆用户,例如xyz@A。我想设置备用服务器,以便在出现A故障时,客户端可以透明地使用备用服务器BC(因此,尽管仍在使用其xyz@A帐户)。

我认为DNS部分非常简单,我需要编辑A区域文件以添加SRV备用服务器的记录,例如本示例(http://wiki.xmpp.org/web/SRV_Records#Example_3):

_xmpp-client._tcp.example.net. 86400 IN SRV 5 50 5222 server1.example.net.
_xmpp-client._tcp.example.net. 86400 IN SRV 10 30 5222 server2.example.net.
_xmpp-client._tcp.example.net. 86400 IN SRV 10 10 5222 server3.example.net.
_xmpp-client._tcp.example.net. 86400 IN SRV 10 10 5222 server4.example.net.
_xmpp-client._tcp.example.net. 86400 IN SRV 15 0 5222 backup.example.net.
_xmpp-server._tcp.example.net. 86400 IN SRV 5 50 5269 server1.example.net.
_xmpp-server._tcp.example.net. 86400 IN SRV 10 30 5269 server2.example.net.
_xmpp-server._tcp.example.net. 86400 IN SRV 10 10 5269 server3.example.net.
_xmpp-server._tcp.example.net. 86400 IN SRV 10 10 5269 server4.example.net.
_xmpp-server._tcp.example.net. 86400 IN SRV 15 0 5269 backup.example.net.

在主机BCwrt身份验证以及聊天室上设置ejabberd服务器的步骤和具体配置是什么?

尽管使用初始用户db来使用冗余服务器A就足够了(我不希望A长时间停机),但理想情况下,我认为我应该在所有3台服务器之间同步用户db,以便有人在BA下跌可以在以后登录A时就回来了。ejabberd是否为此提供了一种机制?


我会询问serverfault ...
knarf

鉴于您尚未收到有关ejabberd的答案,我建议您使用Tigase XMPP Server-它支持开箱即用的群集(请参阅docs.tigase.net/tigase-server/8.0.0/Administration_Guide/html/…),并且仅需要启用群集模式-它会连接到相同的数据库并允许对用户进行身份验证。完全独立的问题是群集/数据库的高可用性,但是我建议为此使用数据库特定的解决方案。
Wojtek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.