负载均衡Web套接字 - AWS Elastic Loadbalancer

use*_*872 8 amazon-ec2 spring-websocket elastic-load-balancer

我有一个关于如何使用AWS弹性负载均衡器对Web套接字进行负载均衡的问题.

我在AWS弹性负载均衡器后面有2个EC2实例.

当任何用户登录时,将与服务器之一建立用户会话,例如EC2 instance1.现在,来自同一用户的所有请求都将路由到EC2 instance1.

现在,我有一个来自不同系统的不同无状态请求.该请求将包含userId.此请求最终可能会转到EC2 instance2.我们应该根据请求中的userId向用户发送通知.

现在,

1)假设用户会话是EC2 instance1,但通知源自EC2 instance2.在这种情况下,我不确定如何通知用户浏览器.

2)对于像64K这样的websocket连接是否存在任何限制以及如何克服多个服务器,因为用户通过负载均衡器来实现.

谢谢

Laj*_*res 5

  1. 您将需要其他东西来通知浏览器的websocket服务器端有关来自其他系统的事件.有一些基于发布 - 订阅的解决方案可能有所帮助,但不知道更多细节,有点难以找出最适合的解决方案.Redis通常是一个很好的答案,Elasticache支持它.

  2. 我发现这与AWS ELB的限制有关:http: //docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_elastic_load_balancer 但它们似乎都与您的问题无关.