Маршрутизация между серверами XMPP внутри домена
Я изучаю систему мгновенных сообщений и читаю о XMPP(RFC6120,6121,6122). Эти документы относятся к связи между клиентом и сервером и между серверами (используя доменное имя), но они не говорят о маршрутизации между серверами в домене. Можете ли вы показать мне некоторые решения или документы, относящиеся к этой проблеме?
Например: пользователь A хочет отправлять сообщения пользователю B, пользователь A подключается к server1, пользователь B подключается к другому серверу в том же домене с server1(например, example.com), так как server1 знает, к какому серверу (IP-адресу) подключено с пользователем B для пересылки сообщений?
1 ответ
Маршрутизация внутри домена не является функцией XMPP, но зависит от сервера. Это то, что делает уровень кластеризации данного сервера XMPP.
Например, в ejabberd, в основном, есть таблица сеансов (которая может храниться в различных бэкэндах), которая ссылается на пользовательский ресурс и узел, на котором живет этот сеанс и соединение TCP/IP.
Спецификация XMPP не определяет, как построить кластер, поскольку это техническая деталь реализации.