您如何扩展XMPP安装?

时间:2012-12-24 11:39:34

标签: xmpp scalability ejabberd xmppframework

我们正在努力从头开始构建XMPP服务器(由于我们的特定需求)。我们无法获得清晰图像的一个领域是如何扩展XMPP。假设我有10,000个用户,每个XMPP服务器实例最多可以处理2,000个并发客户端/连接。我们将运行多个XMPP实例,客户端将使用它连接到正在运行的实例之一,如下所述:http://xmpp.org/rfcs/rfc6120.html#tcp-resolution-prefer

我认为所有主要的XMPP服务提供商都使用多个服务器,例如Google使用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服务提供商之间的可扩展性而不是互操作。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

没有关于如何扩展XMPP服务器的通用规则。这实际上取决于您要构建的项目类型。 ejabberd提供了制作可扩展服务器的基本工具,但您需要了解XMPP如何在细节中工作以及如何设计项目以使其工作。

我建议您阅读:http://blog.process-one.net/scale_means_skills/

注意:Google拥有超过5台XMPP服务器。