0

我正在使用带有用 C++、Python 和 Java 编写的客户端的 C++ 代理。如果我们在一夜之间运行系统,它不会在早上发送/接收消息。所有消息都在主题上交换,主题指定目的地。我有3个问题:

1.) 我们应该使用队列吗?使用队列而不是主题有优势吗?在主题上选择队列的设计决策是什么?队列似乎更加僵化(即,如果您知道节点 A 发送了一个请求并想要一个响应,那么您将立即发送一个响应;发布/订阅)。

2.) 如果消息未被确认,会发生什么?我发现 Python 模块缺少 session.acknowledge()。这会导致我们一夜之间的失败吗?我今天发现了这个问题,所以我希望明天有更多的见解。补救措施是重新启动 qpidd 服务。(我们在 x64 Linux 上运行)。

3.) 这是使用集群故障转移的好理由吗?

4

1 回答 1

0

1)这取决于架构。队列和主题这两种方法都可以将消息从多个来源获取到多个目的地。主题将消息发送给所有侦听器,队列将消息发送给其中一个侦听器 - 谁先获取消息。

2) 是否有任何与失败有关的错误或日志消息?我怀疑你的资源用完了。

3) 不,您应该在 24 小时之前弄清楚您的消息传递失败的原因。

于 2013-04-22T12:50:27.203 回答