我必须设置sails应用程序,我可以在多个端口上建立socket.io连接 - 例如端口3999上的身份验证和端口4999上的数据同步。
有什么办法吗?
我必须设置sails应用程序,我可以在多个端口上建立socket.io连接 - 例如端口3999上的身份验证和端口4999上的数据同步。
有什么办法吗?
我昨天问了一个类似的问题,看来你的也和我的很相似,这就是我要实现的。
鉴于您将有多个实例将在不同的端口上工作,它们将无法直接相互通信,这会破坏 websocket 功能。
似乎有多种解决方案(粘性会话与使用 Redis 的发布/订阅功能),我选择了 Redis。有一个名为socket.io-redis的模块。您还需要发射器模块,它就在这里。
如果您选择该路线,无论有多少服务器(具有多个实例的多个服务器)或在您运行应用程序的单个服务器上的多个实例,由于 Redis,它都将毫无问题地运行。
至少我现在知道的就是这样,找了几天,还没试过。
更不用说,您可以使用 Nginx 进行负载平衡,如下所示。(从 socket.io 文档复制)
upstream io_nodes {
ip_hash;
server 127.0.0.1:6001;
server 127.0.0.1:6002;
server 127.0.0.1:6003;
server 127.0.0.1:6004;
}