我正在使用C ++代理,其客户端使用C ++,Python和Java编写。如果我们在一夜之间运行系统,它可靠地不会在早上发送/接收消息。所有消息都通过主题交换,主题指定目的地。我有3个问题:
1。)我们应该使用队列吗?使用队列超过主题是否有优势?在主题上选择队列的设计决策是什么?队列似乎更加严格(即如果你知道节点A发送了一个请求并想要一个响应,你就会发回一个响应; pub / sub)。
2.。)如果消息未被确认,会发生什么?我发现Python模块缺少session.acknowledge()。这会导致我们一夜之间失败吗?我今天发现了这个问题,所以我希望明天会有更多的见解。解决方法是重新启动qpidd服务。 (我们在x64 Linux上运行。)
3。)这是使用群集故障转移的一个很好的理由吗?
答案 0 :(得分:0)
1)这取决于架构。方法,队列和主题都可以从多个源到多个目的地获取消息。主题向所有侦听器发送消息,队列向其中一个侦听器发送消息 - 无论谁先抓取消息。
2)是否有与失败有关的错误或日志消息?我怀疑你的资源不足。
3)不,你应该弄清楚为什么你的消息在24小时之前失败了。