如何设置冗余ejabberd服务器?

kna*_*arf 5 redundancy ejabberd xmpp dns-zone

我目前有一个在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.
Run Code Online (Sandbox Code Playgroud)

B在主机和wrt 身份验证和聊天室上设置 ejabberd 服务器的步骤和具体配置是什么C

虽然使用初始用户数据库的冗余服务器A就足够了(我不希望 A 长时间停机),但理想情况下,我认为我应该在所有 3 个服务器之间同步用户数据库,这样如果有人在B当发生故障时可以稍后在恢复时A登录。Aejabberd 是否为此提供了一种机制?

编辑:解决方案需要处理这些约束/用例:

  • 您可以透明地连接到集群的任何节点
  • 如果至少一个节点已启动,则可以工作(无单点故障)
  • 通过互联网工作(可能存在高延迟)

Anu*_*ioz 4

您需要遵循此处的集群指南http://docs.ejabberd.im/admin/guide/clustering/