XMPP服务是否需要单一入口点?

时间:2011-04-14 14:58:15

标签: xmpp

假设我的基于XMPP的聊天服务具有以下服务器端架构:

enter image description here

我假设每个客户端(发件人为1,收件人1和2为其他人)必须最初连接并绑定到XMPP服务器,并且客户端将始终绑定到该服务器以用于客户端的整个会话。正确的吗?

如果正确,那么什么决定了客户端最初连接的XMPP服务器?这个XMPP集群中是否有一些单点入口服务器决定了这个?

1 个答案:

答案 0 :(得分:1)

是的,客户端将为每个会话与一个XMPP服务器建立持久连接。

假设图中的所有服务器都提供相同的域,提供多个服务器的常用方法是为域使用多个DNS SRV记录。例如,连接到“google.com”的XMPP客户端将解析以下服务器/端口:

$ dig +short -t SRV _xmpp-client._tcp.google.com
20 0 5222 talk3.l.google.com.
20 0 5222 talk2.l.google.com.
5 0 5222 talk.l.google.com.
20 0 5222 talk1.l.google.com.
20 0 5222 talk4.l.google.com.

这在规范中定义: http://xmpp.org/rfcs/rfc6120.html#tcp-resolution