Spring WebSockets + Amazon MQ限制

我们想使用spring websockets + STOMP + Amazon MQ作为功能齐全的消息代理。我们正在尝试进行基准测试,以找出单个tomcat节点可以处理多少个客户端websocket连接。但是看来我们首先达到了amazonmQ连接限制。根据{{​​3}},amazonmQ每个节点的连接数限制为1000(据我了解,我们可以要求支持以增加该限制,但我怀疑它会增加很多时间)。所以我的问题是:

1)我是否正确假设每个从客户端到spring / tomcat服务器的websocket连接都从服务器到代理打开了相应的连接?这是正确的行为,还是我们在这里做错了什么/缺少了什么?

2)在这里可以做什么?我的意思是,我认为每1000个用户创建一个代理节点不是一个好主意。

taitan_winter 回答:Spring WebSockets + Amazon MQ限制

根据https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/messaging/simp/stomp/StompBrokerRelayMessageHandler.html,您所做的一切正确,并且已记录为行为。

javadoc的报价:

  

对于每个新的CONNECT消息,将打开到代理的独立TCP连接,并且专用于来自发起CONNECT消息的客户端的所有消息。来自同一客户端的消息通过会话ID消息头进行标识。相反,当STOMP代理通过TCP连接将消息发送回时,这些消息将充实客户端的会话ID,并通过提供给构造函数的MessageChannel向下游发送回去。

关于修复,您可以编写自己的带TCP连接池的消息代理中继。

本文链接:https://www.f2er.com/3038423.html

大家都在问