我正在尝试对 nodejs Server 发送的事件后端进行负载平衡,我需要知道是否有办法将新连接分配给连接最少的客户端的实例。我遇到的问题是在向上扩展时,路由会继续向已经饱和的实例发送新连接,并且由于连接存在很长时间,所以这根本行不通。
水平扩展长期连接有哪些选项?
最佳答案
您似乎想要一个既能提供“粘性 session ”又能使用“最少连接”而不是“循环”策略的负载均衡器。不幸的是,NGINX 无法提供这一点。
HAProxy(高可用性代理)允许这样做:
backend bk_myapp
cookie MyAPP insert indirect nocache
balance leastconn
server srv1 10.0.0.1:80 check cookie srv1
server srv2 10.0.0.2:80 check cookie srv2
如果您需要 ELB 功能并希望手动滚动,请查看此 guide .
您可能还想确保经典 AWS ELB“粘性 session ”configuration或更新的 ALB "sticky session"选项不能满足您的需求。 ELB 通常以最少的“负载”将连接发送到上游服务器,当与粘性 session 结合使用时可能就足够了。
关于node.js - 服务器发送事件或 Websockets 的 Aws 负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54427980/