缩放websocket节点服务器

我知道这个问题已经部分地问过( 如何扩展Node.js WebSocket Redis服务器? ),但我想知道是否有任何替代Redis快速共享节点实例之间的WebSocket对象,特别是types套接字( https:// github.com/einaros/ws )。 我已经尝试了redis,并遇到了一个事实,即networking套接字对象是循环的,很难连续。 然后,我使用Crockford的cycle.js( https://github.com/douglascrockford/JSON-js/blob/master/cycle.js ),但它似乎去掉websocket对象的方法,因为我得到一个节点说错误我已经从redis中读回套接字并重新循环后,“Object object has no method send”。 任何帮助将非常感激。

在此先感谢詹姆斯。

       

网上收集的解决方案 "缩放websocket节点服务器"

海事组织你应该使用消息队列..例如(RabbitMQ)

  1. 应用程序在节点A和节点B上启动并连接到RabbitMQ
  2. 客户端A连接到节点A并订阅名为XXX客户端的队列
  3. 客户端B连接到节点B并订阅名为XXX的队列
  4. 客户端A向websocket服务器发送消息Websocket服务器向节点A发送消息
  5. 节点A将消息发布到RabbitMQ队列XXX
  6. 节点B收到来自RabbitMQ的消息,因为它订阅了队列XXX
  7. 节点B将消息发送到客户端B或将消息发布到节点B上所有连接的客户端

所以,你所需要的就是把消息队列放入你的架构(RabbitMQ,ZeroMQ)等等