В настоящее время у меня есть сервер ejabberd, работающий в домене A
. У него есть группа пользователей с такими учетными записями, как xyz@A
. Я хочу настроить альтернативные серверы, чтобы, если A
не работает, клиенты могут прозрачно использовать альтернативные серверы B
и C
(таким образом, все еще используя свои 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.
Каковы шаги и конкретная конфигурация для настройки серверов ejabberd на хосте B
и C
w.r.t аутентификация и чаты?
Хотя рабочие резервные серверы с начальным пользовательским db из A
будет достаточно (я не ожидаю, что A будет работать надолго), в идеале я думаю, что я должен синхронизировать пользовательский db между всеми 3 серверами, чтобы, если кто-то создаст учетную запись на B
пока A
не работает, может позже войти в систему A
когда это резервное копирование. Предоставляет ли ejabberd механизм для этого?
изменить: решение должно работать с этими ограничениями / прецедентами:
Вам необходимо следовать руководству по кластеризации здесь http://docs.ejabberd.im/admin/guide/clustering/