龙卷风websocket聊天的可扩展性

san*_*x26 7 python tornado

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

MK *_*ung 5

您可以考虑使用pubsubRedis 的功能.(链接)

编辑:

当您的客户登录您的聊天室时,他们可以subscribe访问某个频道chatroom.它们使用的龙卷风实例并不重要.使用此模块可以保持异步监听通道.

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

您可以查看此演示示例.