【问题标题】:Does websphere MQ create duplicate queues in a clustered environmentwebsphere MQ 是否在集群环境中创建重复队列
【发布时间】:2013-10-24 03:40:18
【问题描述】:

如果我想在分布式环境中(跨集群中的 2 台机器)设置 Websphere MQ,是否会在两台机器上创建队列和主题(我理解为消息的物理存储空间)?

或者队列和主题仅在一台机器上创建,但程序(我猜它称为 websphere MQ 代理)将部署在两台机器上,并且两个实例将访问相同的队列和主题。

【问题讨论】:

    标签: ibm-mq


    【解决方案1】:

    WebSphere MQ 中的集群概念不同于传统的高可用性 (HA) 集群。在传统的 HA 集群中,两个系统访问相同的存储/数据以提供 HA 功能。两个系统都可以配置为随时处于活动状态并处理请求。您还可以拥有主动/被动类型的 HA 配置。

    与传统的 HA 集群不同,WebSphere MQ 集群有所不同。两个队列管理器不共享相同的存储/数据。每个队列管理器都是唯一的。 WebSphere MQ 集群比 HA 更适合工作负载平衡。您可以在一个 MQ 集群中的多个队列管理器中拥有一个同名队列,并且当放置消息时,MQ 集群会将它们负载平衡到该集群中的所有队列。需要注意的是,集群中每个队列实例中的消息都是独立的,不共享。如果由于某种原因集群中的一个队列管理器出现故障,则该队列管理器中的消息将变得不可用,直到队列管理器恢复。

    您的目标是工作负载平衡还是高可用性?如果您的目标是实现 HA,那么您可以查看 MQ 的多实例队列管理器功能或任何其他 HA 解决方案。如果您的目标是工作负载平衡,那么您可以选择 MQ 集群。您还可以混合使用多实例队列管理器和 MQ 集群来实现 HA 和工作负载平衡。

    【讨论】:

    • 谢谢。因此,当您说:“两个队列管理器不共享相同的存储/数据”时,这意味着每个队列管理器都有自己的队列吗?我问是因为其他答案表明队列不会重复。
    • 是的。队列管理器 QM1 中的队列名称 Q1 与另一个队列管理器 QM2 中具有相同名称的另一个队列 Q1 完全不同。您可以在队列管理器中拥有多个队列。队列管理器是队列的容器并管理队列。
    【解决方案2】:

    不,如果您不(手动),MQ 不会在集群中创建重复队列。

    此外,检查您的队列管理器是集群的部分存储库还是完整存储库

    部分存储库将仅包含有关其自身对象的信息,而完整存储库将包含有关集群中所有队列管理器对象的信息。

    一个集群中至少需要一个完整的存储库,其他部分存储库可以使用这个完整存储库来访问其他队列管理器的对象。

    但是,完整存储库中的对象信息只是一个列表。实际的物理对象只会存在于创建它的队列管理器中。

    【讨论】:

    • 谢谢。能否也解释一下队列管理器和 websphere mq 代理的区别
    猜你喜欢
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2016-05-05
    • 2011-07-07
    • 1970-01-01
    • 2014-08-08
    相关资源
    最近更新 更多