我正在将使用Web套接字(django通道2)的django应用程序部署到生产中。到目前为止,将负载均衡器和两个应用程序实例与nginx / gunicorn结合使用一直很好,但是我想知道websockets部分的可伸缩性。
如何构建可伸缩的Web套接字体系结构,该体系结构将在不同服务器实例之间共享django通道组?
我将websocket用于实时聊天功能,因此我必须确保添加到特定组的用户将能够从同一聊天室中的所有其他用户发送/接收消息,无论负载是加载到哪个服务器实例上平衡器会指出它们。
我的第一个想法是仅将一个单独的远程服务器用于redis,但我知道垂直可伸缩性最终将告一段落。当我需要水平扩展Redis服务器时会发生什么?
我已经在使用gunicorn + daphne设置,但仅在低/开发测试流量下使用。我还没有尝试水平缩放Django通道。