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

假设我想创建一个基于Web和Web套接字的聊天服务.而且我们还要说我想要多个独立的聊天室.

我需要这个扩展,因此,我正在考虑使用XMPP,以便我可以透明地使用多个服务器.图中显示的架构是否需要我?

而且,我甚至需要NodeJS吗?

最佳答案 node.js负载均衡器和它后面的多个node.js服务器怎么样?

使用像redis这样的东西来存储数据并处理消息传递.见这article

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

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

每个消息都由处理该传入消息的node.js服务器发送到redis.

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

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

点赞