8

在 tornado websocket 聊天示例中,参与者存储在集合(链接)中,在单个服务器的情况下很方便。但是,如果运行应用程序的多个实例并将 nginx 作为负载均衡器,那么在这种情况下,如何更好地存储参与者呢?

4

1 回答 1

6

你可以考虑使用pubsubRedis 的特性。(链接

编辑 :

当您的客户登录到您的聊天室时,他们可以subscribe访问一个频道,例如chatroom。他们使用哪个龙卷风实例并不重要。使用此模块,您可以保持异步收听频道。

如果另一个客户端向您的聊天室发送消息(即向频道发布消息chatroom),所有龙卷风实例都会自动将消息发送给订阅频道的人。然后您可以通过 websocket 发送消息。

您可以查看此演示以获取示例。

于 2013-06-03T09:28:41.017 回答