2019-08-01 06:04:43,263|错误|无法接受连接:org.apache.actiemq.transport.tcp.ExceededMaximumConnectionsException:超过允许的最大客户端连接数。请参阅ActiveMQ配置文件中TCP传输配置URI上的'最大化连接'属性(例如,active emq.xml)|org.apache.activemq.broker.TransportConnector|ActiveMQ传输服务器线程处理程序:niossl://b-e13f27f2-1fa3-419f-819c-a24277e973a8-2.mq.us-west-2.amazonaws.com:61617?maximumConnections=100
在amazonMQ上获得上述异常,早些时候我们使用activeMQ,我们在其中设置了如下内容
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
</transportConnectors>
在amazonMQ中,我们无法找到此类选项,并且经纪人抛出异常。我们确实检查了amazonMQ上的transportConnector支持:
知道我们如何增加最大连接的大小吗?
如此处所列,每个AWS帐户可以更改限制。
您将需要打开一个AWS支持票证请求增加限制
我想我不得不问,为什么有这么多联系?
大与微型有1000个连接,允许100个连接。在错误消息中看到您有100个连接,您在Micro上吗?也许Micro实例无法处理负载?
生产者/消费者是你控制的,还是这是第三方应用程序?如果你能做到,我会在增加这些级别之前检查代码。连接要尽可能多地共享。完成后它们是否正确关闭?你所有的生产者都打开并维护自己的连接吗?
生产者连接应分组并与PooledConnectionFactory共享。