在龙卷风websocket聊天示例中,参与者存储在集合(link)中,在单个服务器的情况下很方便。但是如果运行应用程序的多个实例和nginx作为负载均衡器,在这种情况下如何更好地存储参与者?
答案 0 :(得分:5)
您可以考虑使用Redis的pubsub
功能。
(link)
编辑:
当您的客户登录聊天室时,他们可以subscribe
访问某个频道,例如chatroom
。它们使用的龙卷风实例并不重要。
使用this module,您可以异步收听频道。
如果另一个客户端向您的聊天室发送消息(即向消息chatroom
发布消息),则所有龙卷风实例都会自动将消息发送给订阅该频道的用户。然后你可以通过websocket发送消息。
您可以查看此demo示例。