在Node.JS上的Socket.io之间实现队列

在Node.JS上的Socket.io之间实现队列,node.js,socket.io,queue,Node.js,Socket.io,Queue,我已经用Node.JS和Socket.io写了一篇聊天。聊天很简单:总是有两个人的房间,一个员工和一个客户 现在,我们的容量正在成长,我们面临一些问题,如网络问题上的消息“消失”,我们希望在公司和客户之间实现一个队列 比如: 对于图中的每个NodeJS进程,我们在负载平衡后有6个vm。我想知道处理队列的最佳方法是什么 我应该在每个房间的队列中创建一个主题吗?e、 g:对于用户C和D之间的交互,将使用消息/C:D;对于用户A和B之间的交互,它将使用消息/A:B 或者最好使用没有任何主题的单个队列

我已经用Node.JS和Socket.io写了一篇聊天。聊天很简单:总是有两个人的房间,一个员工和一个客户

现在,我们的容量正在成长,我们面临一些问题,如网络问题上的消息“消失”,我们希望在公司和客户之间实现一个队列

比如:

对于图中的每个NodeJS进程,我们在负载平衡后有6个vm。我想知道处理队列的最佳方法是什么

我应该在每个房间的队列中创建一个主题吗?e、 g:对于用户C和D之间的交互,将使用消息/C:D;对于用户A和B之间的交互,它将使用消息/A:B

或者最好使用没有任何主题的单个队列,发布/订阅消息中的所有消息,并为每个订阅者进行广播?如果订户拥有房间,他将处理该消息


在第一种方法中,我不确定应该如何使用MQ客户机,因为我通常对它们进行一次初始化,然后让它运行。当我想象创建一个缓存来存储MQClient时,每个客户端将负责一个主题,在我的脑海中听起来很奇怪-如果我有10k个房间,我将有10k个MQClient。

你能理解吗?