代码之家  ›  专栏  ›  技术社区  ›  ACES

SocketIO适配器在扩展(重新启动)服务器后停止工作

  •  0
  • ACES  · 技术社区  · 2 年前

    我目前正在使用Redis缓存调用,并作为SocketIO的状态管理器。我的服务器托管在AWS上,我在微实例上有redis,NodeJS应用程序和Socket服务器适配器都成功连接。我将Redis扩展到xlarge实例,从那时起服务器连接良好,但Socket正在报告 error: Connection timeout Error: Connection timeout 。如果我卸下适配器,Socket工作正常,但没有状态管理。

    有什么想法吗?

    这就是我使用适配器连接到套接字的方式。

            const pubClient = createClient({
                url: process.env.REDIS_URL,
                password: process.env.REDIS_PWD
            });
            const subClient = pubClient.duplicate();
    
            await Promise.all([
                pubClient.connect(),
                subClient.connect()
            ]);
              
            const io = new Server(server, {
                adapter: createAdapter(pubClient, subClient),
                path: "/socket/socket.io",
                allowEIO3: true,
                cors: {
                    origin: process.env.SOCKET_WHITELIST_DOMAIN.split(' '),
                    credentials: true
                }
            });
    
    0 回复  |  直到 2 年前
    推荐文章