gpt4 book ai didi

javascript - 在ECS上负载均衡websocket?

转载 作者:行者123 更新时间:2023-12-01 17:28:53 25 4
gpt4 key购买 nike

我才刚刚开始理解和解决这个问题。

Node.js的Socket.io或Go的Gorilla websocket解决方案每个实例都有一个连接池。因此,在每个实例中,我都可以说“向客户端xxx发送消息”。

但是,当我尝试水平扩展(通过生成其他实例)时,每个实例都有自己的客户端连接池,因此尝试向连接到另一个实例的特定客户端发送消息失败。我认为这是因为当前实例无权访问该实例的连接/内存池。

我了解ECS会自动水平扩展docker容器,如果我要在ECS上扩展WS服务器项目并将其扩展到服务的另一个实例,AWS是否会神奇地处理套接字服务器实例之间的对话-还是我必须处理?

最佳答案

根据MDN

WebSockets are an advanced technology that makes it possible to open an interactive communication session between the user's browser and a server.



这意味着每个websocket是到特定服务器的持久连接。为了向其他服务器中的套接字发出事件,您需要一个适配器。例如,如果您使用Socket.io,则可以看看 SocketIO Redis

另一方面,要平衡负载,您可以使用应用程序负载平衡器(ALB),该负载平衡器支持ECS中的WebSocket和容器化应用程序。

关于javascript - 在ECS上负载均衡websocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50126678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com