IBM WebSphere MQ分布式队列与群集配置

分布式队列(Distributed queuing)

对于本地的队列管理器(Queue manager)而言,由它自己管理的队列称为本地队列(Local queues),由其它队列管理器管理的队列称为(该队列管理器的)远程队列(Remote queues)。

如果有消息(Message)要发送给远程队列,本地的队列管理器需要定义一个传输队列(Transmission queue)和一个通道(Channel)。
在这里插入图片描述

通道是指两个队列管理器之间的一个单向通信连接(One-way communication link)。一个通道有一个发送端(Sending end)和一个接收端(Receiving end)。一个通道在本地的队列管理器被定义为发送通道(Sender channel),在远程的队列管理器被定义为接收通道(Receiver channel)。
同一个通道的发送通道和接收通道的名字必须相同。
在通道的每一端都有一个消息通道代理(Message channel agent, MCA)来处理消息的发送与接收。

每个队列管理器都有一个死信队列(Dead-letter queue),用于存放没有被成功交付的消息。
在这里插入图片描述

集群(Cluster)

相比手动定义分布式队列环境中的所有连接,我们还可以在群集中定义一组队列管理器。同一个群集中的队列管理器可以共享队列,而无需显式地为每个远程队列管理器定义通道、远程队列、传输队列。对于群集中的任意一个队列管理器,只需定义一个集群接收通道(Cluster-receiver channel)和一个集群发送通道(Cluster-sender channel),其他的通道都由集群自动管理。

为了避免因队列管理器不可用导致数据丢失,可以在群集中选定两个队列管理器作为完全仓储库(Full repositories)。被选定为完全仓储库的队列管理器会存储群集中所有队列管理器和队列的一整套信息。未被选定为完全仓储库的队列管理器仅仅会存储与之交换数据的其他队列管理器和队列的信息,它们被称为非完全仓储库(Partial repositories)。

一个队列管理器必须定义了群集发送通道和群集接收通道才能加入对应群集。在本地群集管理器中创建群集发送通道将其与群集中的一个完全仓储库连接;创建群集接收通道使其能接收群集通信。

如图,群集CLUSTER中包含三个队列管理器QM1,QM2,QM3。QM1和QM2为完全仓储库。QM2和QM3各自管理着一些队列,群集中的其他队列管理器都可以访问这些队列。每个队列管理器都定义了一个群集接收通道(TO.QM1,TO.QM2,TO.QM3)用于接收消息,和一个群集发送通道用于向一个完全仓储库发送消息。图中,QM1和QM3定义的群集发送通道向QM2中的完全仓储库发送消息,QM2则向QM1中的完全仓储库发送消息。
在这里插入图片描述

简化后的定义逻辑如下:

runmqsc QM1
ALTER QMGR REPOS(CLUSTER)
DEFINE CHANNEL(TO.QM1) CHLTYPE(CLUSRCVR) CLUSTER(CLUSTER)
DEFINE CHANNEL(TO.QM2) CHLTYPE(CLUSSDR) CLUSTER(CLUSTER)

runmqsc QM2
ALTER QMGR REPOS(CLUSTER)
DEFINE CHANNEL(TO.QM2) CHLTYPE(CLUSRCVR) CLUSTER(CLUSTER)
DEFINE CHANNEL(TO.QM1) CHLTYPE(CLUSSDR) CLUSTER(CLUSTER)

runmqsc QM3
DEFINE CHANNEL(TO.QM3) CHLTYPE(CLUSRCVR) CLUSTER(CLUSTER)
DEFINE CHANNEL(TO.QM2) CHLTYPE(CLUSSDR) CLUSTER(CLUSTER)

References:https://www.ibm.com/support/knowledgecenter/zh/SSFKSJ_9.0.0/com.ibm.mq.pro.doc/q002660_.htm?view=embed#q002660___clusters

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值