【问题标题】:How to reduce the frequency of ActiveMQ KeepAlive messages如何降低 ActiveMQ KeepAlive 消息的频率
【发布时间】:2023-04-01 10:53:01
【问题描述】:

谁为 ActiveMQ 配置了 HTTP 传输。但是,我们注意到有数千条 KeepAlive 消息。我了解 KeepAlive 消息用于控制非活动监视器如何检测和清除“死”连接:http://activemq.apache.org/activemq-inactivitymonitor.html

<org.apache.activemq.command.KeepAliveInfo>
  <commandId>0</commandId>
  <responseRequired>false</responseRequired>
</org.apache.activemq.command.KeepAliveInfo>

从文档中,似乎可以关闭不活动监视器,但我想弄清楚是否有一个设置可以“减少”线路上的喋喋不休但不能完全消除。例如,我可以每秒发送一条消息,但我们收到了数千条消息。

【问题讨论】:

    标签: activemq


    【解决方案1】:

    传输连接器有一个参数“wireFormat.maxInactivityDuration”,用于确定最长不活动持续时间。要减少保活的频率,请增加此值。默认值为 30000(30 秒)。

    如果在实践中使用默认值 30 秒,并且您每秒获得数千个 keepalive,我希望您有数万个连接。

    以下是指定此参数的示例:

    <transportConnectors>
        <transportConnector name="openwire"
            uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=30000&amp;wireFormat.maxInactivityDurationInitalDelay=10000"/>
    </transportConnectors>
    

    如果连接的另一端指定的持续时间比您的一端短,则连接的两端都将使用较短的持续时间。似乎没有“最短不活动持续时间”的设置,因此如果客户选择非常短的持续时间,您将不得不接受它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多