В настоящее время у меня есть сервер 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
относительно аутентификации и чатов?
Хотя работы резервных серверов с исходной базой данных пользователя A
будет достаточно (я не ожидаю, что A будет отключен в течение длительного времени), в идеале Я думаю, мне следует синхронизировать базу данных пользователя между всеми тремя серверами, чтобы, если кто-то создаст учетную запись на B
, в то время как A
не работает, мог позже войти в A
, когда он резервное копирование. Предоставляет ли ejabberd механизм для этого?
править: Решение должно работать со следующими ограничениями / сценариями использования: