2013-10-24 67 views
2

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

或者只会在一台机器上创建队列和主题,但程序(我猜它叫做websphere MQ代理)将部署在2台机器上,两个实例都将访问相同的队列和主题。

回答

1

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

此外,检查你的队列管理器是否是部分存储库或为集群全库

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

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

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

+0

谢谢。你还可以解释队列管理器和websphere mq经纪人之间的区别 – Victor

3

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

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

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

+0

谢谢。所以当你说'两个队列管理器不共享相同的存储/数据'时,这意味着每个队列管理器都有自己的队列?我问,因为öhrhr答案指出,队列将不会重复。 – Victor

+0

是的。队列管理器QM1中的队列名称Q1与另一个队列管理器QM2中具有相同名称Q1的另一个队列完全不同。您可以在队列管理器中拥有多个队列。队列管理器是队列的容器并管理队列。 – Shashi