socket.io和RedisStore:如何在不创建服务器的情况下广播到房间?

时间:2013-01-17 14:58:37

标签: node.js socket.io

我的应用程序被分成多个应用程序(管理员,客户端,工作者)。

我正在使用带有RedisStore的socket.io, 当管理员登录时,我设置了一个socket.io连接并将套接字连接到名为user_id的房间

如何在不创建socket.io监听服务器的情况下,从不同的应用程序(让工作人员说)向这个房间广播?

io.set(设置RedisStore)是为var io = require('socket.io').listen(server)

定义的

我需要直接发布到redis频道吗?如果是的话,我怎么知道它的名字?

1 个答案:

答案 0 :(得分:0)

让多个Node实例通过消息进行通信的一种方法是使用消息代理(消息队列服务)。每个Node实例绑定到MQ中的特定通道,例如“general_chat”或“maintenance”。然后,所有实例都将接收这些消息。您可以使用点语法“chat.room1”和“chat.admin”添加多个绑定级别。查看ActiveMQ,RabbitMQ,SQS和其他类似服务,其中一些是开源的。