是否可以在TCP模式下使用Amazon ELB在多个基于Tomcat的Websocket服务器之间分布Websocket连接?

鲍勃·德雷默

我看过3篇关于将ELB与websockets一起使用的文章,但它们似乎都在使用javascript客户端,或者有一些其他变量不适用于我们的情况。

我们有多个在Tomcat中运行的websocket服务器。我们希望以ELB开头,并让所有Websocket客户端(即100到1000 s)连接到ELB,这需要:

  • 将升级请求/连接转发到我们的1个Websocket服务器
  • 然后使该连接保持粘性,以便在连接的整个生命周期中所有双向流量都在同一客户端和服务器之间传递

今天ELB可以做到吗?如果可能,是否需要任何特殊的配置/设置?Amazon ELB在TCP模式下支持的并发连接数有什么限制?

我们已经尝试在TCP模式下对此进行测试,但是超过几百个连接后,连接开始失败。但是,如果我们直接连接到单个websocket服务器,则可以建立80K(或更多)websocket连接。

谢谢,鲍勃

鲍勃·德雷默

总之,通过ELB连接时,请注意以下几点:

  • 如果需要大量连接,请向EC2提交支持请求,要求他们“预热”您的ELB。这需要填写一个表格,为它们提供时间窗口,连接数,请求/响应消息大小,消息频率和其他一些参数。在后台,ELB正在分配能够在配置的后端实例上分配计划负载的计算机
  • 如果您的连接是持久性的(如websockets所要求的),那么一定要知道ELB有1分钟的默认空闲超时。在那之后,如果看不到流量,则连接被关闭。您可以要求他们将时间增加到15分钟。注意:这就是为什么如果连接需要保持打开的时间超过ELB允许的时间,则必须利用ping /心跳机制很重要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档