1

我有一个有两个订阅者的主题。但是,其中一个订阅者将部署在集群中。因此,实际上(我认为?)集群将被视为多个订阅者。我需要确保集群只使用一条消息。

我不知道执行此操作的选项。是否可以在集群和主题之间插入一个队列,然后让集群应用程序只使用插入的队列?

如果这是可能的,一般来说,如何让队列“订阅”主题?

我听到的另一个想法是在集群中创建克隆订阅者,有人听说过这个来解决这个问题吗?

另一个想法是取消主题,只使用两个队列,这似乎是一个安全的解决方案?

使用 WebSphere MQ

4

1 回答 1

1

您可以使用持久订阅来实现此目的。

管理性地创建一个持久订阅并指定一个目标,基本上是一个队列,它将接收在指定主题上发布的发布。然后,您的集群应用程序可以从该目的地获取消息。由于发布是从队列中接收的,因此只有一个应用程序实例会收到消息。

下面的命令为主题“/SPORTS/HOCKEY”创建持久订阅,目标队列为 Q1。

DEFINE SUB(SPORTSUB) TOPICSTR(/SPORTS/HOCKEY) TOPICOBJ(SPORT) DESTQ(Q1)
于 2012-12-12T04:00:36.187 回答