XMPP服务是否需要单个入口点?
假设我有以下基于XMPP的聊天服务的服务器端架构: 我假设每个客户机(发送方是一个,接收方1和2是其他客户机)必须首先连接并绑定到XMPP服务器,并且客户机在整个会话中将始终绑定到该服务器。对吗XMPP服务是否需要单个入口点?,xmpp,Xmpp,假设我有以下基于XMPP的聊天服务的服务器端架构: 我假设每个客户机(发送方是一个,接收方1和2是其他客户机)必须首先连接并绑定到XMPP服务器,并且客户机在整个会话中将始终绑定到该服务器。对吗 如果正确,那么什么决定客户端最初连接到哪个XMPP服务器?这个XMPP集群中是否有某个单点进入服务器决定了这一点?是的,对于每个会话,一个客户端将有一个到一个XMPP服务器的持久连接 假设您图中的所有服务器都服务于同一个域,那么提供多个服务器的常用方法是为该域使用多个DNS SRV记录。例如,连接到“
如果正确,那么什么决定客户端最初连接到哪个XMPP服务器?这个XMPP集群中是否有某个单点进入服务器决定了这一点?是的,对于每个会话,一个客户端将有一个到一个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.
这在规范中定义为:
多个DNS SRV记录的负载平衡是如何工作的?我的系统如何知道需要转到下一台服务器才能平衡负载?也许带有虚拟IP的内容交换机更适合我的目标?有一种基于优先级选择DNS SRV记录的算法,该算法将根据优先级选择随机服务器。