Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个有两个订阅者的主题。但是,其中一个订阅者将部署在集群中。因此,实际上(我认为?)集群将被视为多个订阅者。我需要确保集群只使用一条消息。
我不知道执行此操作的选项。是否可以在集群和主题之间插入一个队列,然后让集群应用程序只使用插入的队列?
如果这是可能的,一般来说,如何让队列“订阅”主题?
我听到的另一个想法是在集群中创建克隆订阅者,有人听说过这个来解决这个问题吗?
另一个想法是取消主题,只使用两个队列,这似乎是一个安全的解决方案?
使用 WebSphere MQ
您可以使用持久订阅来实现此目的。
管理性地创建一个持久订阅并指定一个目标,基本上是一个队列,它将接收在指定主题上发布的发布。然后,您的集群应用程序可以从该目的地获取消息。由于发布是从队列中接收的,因此只有一个应用程序实例会收到消息。
下面的命令为主题“/SPORTS/HOCKEY”创建持久订阅,目标队列为 Q1。
DEFINE SUB(SPORTSUB) TOPICSTR(/SPORTS/HOCKEY) TOPICOBJ(SPORT) DESTQ(Q1)