我在ActiveMQ Pub / Sub实现中遇到了以下情况。如果与消息代理的连接丢失,则发布者可能会重新尝试建立连接,因为发布方法会抛出异常。
但是,如果在订阅者端丢失了与消息代理的连接,则订户将不知道它。如果会话到期,这将是相同的。
建议的解决方案: 我认为其中一个解决方案是在订户端实现心跳,以定期将ping消息发布到单独的主题,以便订户可以知道连接是否被丢弃。这样可以正常工作,但缺点是系统中可用的订户生成的ping消息数量。我认为第二个选项是实现心跳以尝试在间隔中创建连接。 WDYT?
您是否看到了实施此方法的更好方法?欣赏你的想法。