Node.js,Socket.io和RabbitMQ来处理并发连接

时间:2014-08-03 07:45:01

标签: node.js socket.io

我正在使用Node.js,Socket.io和RabbitMQ构建推送通知系统。

我的系统流程如下:

  1. RabbitMQ是通过带有扇出交换类型的PHP脚本发布的。

  2. Node.js服务器订阅了通过与步骤1中创建的相同的配置连接的队列。

  3. 当客户端连接到node.js服务器时,它会通过事件发送唯一ID。

  4. 然后将步骤3中发送的唯一ID与从步骤2中订阅的队列接收的消息进行比较。

  5. 如果步骤4中的条件返回true,则队列中的整个消息将发送到具有该唯一ID的客户端。因此,只有特定客户端才会收到所需的消息,而不是所有连接的客户端。

  6. 循环遍历所有连接客户端的所有唯一ID是否可行?因此,在这种情况下,队列中消耗的每条消息都将与所有连接的客户端进行比较。

    我期待50到6万个连接,所以循环这些连接实际上是否可行?

    或者是否可以创建50到6万个绑定到一个交换的队列?

    或者我应该简单地将消息广播给所有客户端,并且会在客户端处理比较吗?

    这些是唯一的解决方案,或者可能有一些不同的实现来处理这个问题。

0 个答案:

没有答案