Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XMPP服务是否需要单个入口点?_Xmpp - Fatal编程技术网

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

XMPP服务是否需要单个入口点?,xmpp,Xmpp,假设我有以下基于XMPP的聊天服务的服务器端架构: 我假设每个客户机(发送方是一个,接收方1和2是其他客户机)必须首先连接并绑定到XMPP服务器,并且客户机在整个会话中将始终绑定到该服务器。对吗 如果正确,那么什么决定客户端最初连接到哪个XMPP服务器?这个XMPP集群中是否有某个单点进入服务器决定了这一点?是的,对于每个会话,一个客户端将有一个到一个XMPP服务器的持久连接 假设您图中的所有服务器都服务于同一个域,那么提供多个服务器的常用方法是为该域使用多个DNS SRV记录。例如,连接到“

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

我假设每个客户机(发送方是一个,接收方1和2是其他客户机)必须首先连接并绑定到XMPP服务器,并且客户机在整个会话中将始终绑定到该服务器。对吗


如果正确,那么什么决定客户端最初连接到哪个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记录的算法,该算法将根据优先级选择随机服务器。