【发布时间】:2017-02-02 15:06:56
【问题描述】:
我对 websphere MQ 很陌生,所以如果我没有使用正确的术语,请原谅我。我们正在做一个项目,我们需要在其中设置一个 MQ 集群以实现高可用性。
客户端应用程序为订阅者和发布者维护与队列管理器的连接池。假设我们在托管同名队列的集群中有两个队列管理器。每个队列都有自己的一组订阅者和发布者,这些订阅者和发布者由客户端应用程序缓存。假设其中一个队列管理器出现故障,该队列管理器上的队列的订阅者和发布者将死亡,从而使客户端应用程序上的对象失效。
在这种情况下可以处理以下场景吗?
1] 当第一个 QueueManager 崩溃时,其队列上的消息会被转移到集群中的其他 queuemanager
2] QueueManager 再次出现时,是否有任何机制可以恢复发布者和订阅者。目前我们已经在客户端应用程序中编写了一个自动恢复线程,它试图重新连接失败的发布者和订阅者。但是在集群设置的情况下,我们担心发布者和订阅者会重新连接到另一个正在运行的 qmanager。并且当崩溃的 queuemanager 恢复后,就不会再有发布者和订阅者了。
谁能解释一下如何处理上述两种情况?
【问题讨论】: