使用Web套接字的基于XMPP的聊天服务体系结构

假设我想创build一个基于Web和Web的基于套接字的聊天服务。 而且我们还要说,我想要多个离散的聊天室。

我需要这个扩展,所以,我想使用XMPP,以便我可以透明地使用多个服务器。 图中显示的架构是我需要的吗?

在这里输入图像描述

而且,我甚至需要NodeJS?

如何在一个node.js负载均衡器和多个node.js服务器之后。

使用像redis的东西来存储数据和处理消息传递。 看到这篇文章

然后,每个客户端上的一个node.js服务器,你不关心哪个。

每个消息都由node.js服务器处理(你不关心哪个)。

每个消息都会被处理该消息的node.js服务器发送到redis。

然后,每个node.js服务器将其选取并将其推送到连接到该服务器和该聊天室的所有客户端。

您需要一些黑魔法才能将来自负载均衡器上的单个socket.io连接的消息传递到多个node.js服务器的tcp套接字中。