ActiveMQ-cpp:尽管发生故障转移,但连接丢失

Posted

技术标签:

【中文标题】ActiveMQ-cpp:尽管发生故障转移,但连接丢失【英文标题】:ActiveMQ-cpp: Loss of connection despite failover 【发布时间】:2018-06-05 16:51:41 【问题描述】:

我正在使用 ActiveMQ 5.15.4,我的代理配置为这样的开放线连接:

<transportConnector name="openwire" uri="tcp://0.0.0.0:24510?transport.useInactivityMonitor=false&amp;transport.keepAlive=true"/>

... 以确保我在 TCP 或 ActiveMQ 级别都没有超时。然后我的 ActiveMQ-cpp-3.9.4 客户端连接到以下故障转移 url:

failover://(tcp://amq:24510)?soKeepAlive=true&wireFormat.maxInactivityDuration=0

...确保如果网络中断导致传输失败,客户端将自动重新连接。

客户端建立其初始连接并在几个“传输失败/传输恢复”故障转移周期中幸存下来,但始终如一地在几分钟内遇到无法恢复的传输故障(尽管网络正在恢复并且两者代理和客户端继续运行)。

客户端不发送任何消息,它只是订阅一个没有消息的主题。感觉像是超时了,但我的理解是我上面的配置不应该发生超时。

任何想法为什么我的客户在失败后可能无法恢复传输?

【问题讨论】:

【参考方案1】:

似乎他们在 3.9.5 中解决了这个问题,其中更改信息说他们解决了故障转移机制的问题。

【讨论】:

以上是关于ActiveMQ-cpp:尽管发生故障转移,但连接丢失的主要内容,如果未能解决你的问题,请参考以下文章

在 haproxy 中的写入故障转移期间,正在进行的 mysql 事务会发生啥?

发生故障转移时,MySQLFabric 是不是支持 mysql 复制半同步(5.7 版本)?

陷阱 SQL 故障转移异常

NHibernate 和数据库连接故障转移?

MySQL JDBC连接上的故障转移?

ActiveMQ 故障转移传输 - 为啥有这么多连接?