我们正在从头开始构建XMPP服务器(由于我们有特定的需求)。我们无法清楚了解的一个领域是如何扩展XMPP。假设我有10,000个用户,每个XMPP服务器实例最多可以处理2,000个并发客户端/连接。我们将运行多个XMPP实例,客户端将使用此实例连接到此处提到的其中一个运行实例:http://xmpp.org/rfcs/rfc6120.html#tcp-resolution-prefer
我认为所有主要的XMPP服务提供商都使用多个服务器,比如谷歌使用这里提到的5个XMPP服务器:http://kingant.net/check_xmpp_dns/?h=kingant.net
现在假设我有两个用户:A和B。A连接到server_1,B连接到server_2。当A向B发送消息时,从A到server_1再到sever_2到B的整个消息流是如何发生的?server_1如何知道B已连接到server_2?这是通过S2S完成的吗?同样,我只关心可伸缩性,而不关心两个不同的XMPP服务提供商之间的互操作性。
任何帮助都是最好的。
发布于 2013-01-10 19:13:06
对于如何扩展XMPP服务器,没有通用的规则。这真的取决于你想要构建的项目类型。ejabberd提供了构建可伸缩性非常好的服务器所需的基本工具,但您需要详细了解XMPP是如何工作的,以及如何设计您的项目以使其工作。
我建议你阅读:http://blog.process-one.net/scale_means_skills/
注意: Google拥有的XMPP服务器远不止5台。
https://stackoverflow.com/questions/14020912
复制相似问题