Websphere MQ Cluster
大纲:
一、 什么是集群
集群就是Websphere MQ 队列管理的逻辑分组,它可以帮助你:
减少了系统管理-由于更少的通道、远程队列、传输队列的定义
增加了高可用性和负载均衡-由于可以在集群中定义同名的队列实例和多个队列管理器以及在他们之间的分布式的消息
二、建立基本的集群
1. 定义集群的组织和它的名字 如果需要获得更多关于集群的信息,请参考-《WebSphere MQ Queue Manager Clusters》
2. 决定那个队列管理器是完全的存储库。你至少需要一个完全存储库,一般来说,最好是两个。完全的存储库包含了在集群中每个队列管理器和对象的 完整的信息。如果你需要多于两个的完全存储库,请参考-《 WebSphere MQ Queue Manager Clusters》中的第7章- Designing clusters。
3. 更改队列管理器的定义,添加存储库定义。
ALTER QMGR REPOS(cluster_name)
对于需要配置为完全存储库的队列管理器都可以用这个命令来定义。
4. 定义集群接受通道:CLUSRCVR
在集群中的每个队列都需要个接受方通道和一个指向它自己的连接名。
DEFINE CHANNEL(channel_name)
CHLTYPE(CLUSRCVR) TRTYPE(TCP)
CONNAME(‘my_ip_name_or_address(port)’)
CLUSTER(cluster_name)
5. 定义集群发送方通道:CLUSSDR
对完全存储库定义发送方通道。通道的名字必须和完全存储库的CLUSRCVR相匹配,不要定义CLUSSDR 指向部分存储库。
DEFINE CHANNEL(channel_name)
CHLTYPE(CLUSSDR) TRPTYP(TCP)
CONNAME(‘remote_ip_name_or_address(port)’)
CLUSTER(cluster_name)
6. 定义集群队列
在集群中的其他队列管理可以发送给它而不需要定义对它的远程队列。
只有本地队列管理器才可以从集群队列实例中读取信息。
DEFINE QLOCAL(qname)
CLUSTER(cluster_name)
7. 验证和测试集群
看下面的 display命令
使用Sample程序放入消息到集群队列中,例如:
- amqsput for distributed platforms
- CSQ4BCK1 or CSQ4BVK1 for z/OS
8. 集群架构图:
9. 架构描述:
DISPLAY QMGR REPOS REPOSNL QMID
AMQ8408: Display Queue Manager details.
QMNAME(QM1) QMID(QM1_2005-07-12_17.14.38)
REPOS(QMCLUS)REPOSNL( )
大纲:
- 1、什么是集群
- 2、建立一个基本的集群
- 3、DISPLAY命令
- 4、负载均衡
- 5、高级配置和管理
- 6、答疑
- 7、关于文章、红宝书等
一、 什么是集群
集群就是Websphere MQ 队列管理的逻辑分组,它可以帮助你:
减少了系统管理-由于更少的通道、远程队列、传输队列的定义
增加了高可用性和负载均衡-由于可以在集群中定义同名的队列实例和多个队列管理器以及在他们之间的分布式的消息
二、建立基本的集群
1. 定义集群的组织和它的名字 如果需要获得更多关于集群的信息,请参考-《WebSphere MQ Queue Manager Clusters》
2. 决定那个队列管理器是完全的存储库。你至少需要一个完全存储库,一般来说,最好是两个。完全的存储库包含了在集群中每个队列管理器和对象的 完整的信息。如果你需要多于两个的完全存储库,请参考-《 WebSphere MQ Queue Manager Clusters》中的第7章- Designing clusters。
3. 更改队列管理器的定义,添加存储库定义。
ALTER QMGR REPOS(cluster_name)
对于需要配置为完全存储库的队列管理器都可以用这个命令来定义。
4. 定义集群接受通道:CLUSRCVR
在集群中的每个队列都需要个接受方通道和一个指向它自己的连接名。
DEFINE CHANNEL(channel_name)
CHLTYPE(CLUSRCVR) TRTYPE(TCP)
CONNAME(‘my_ip_name_or_address(port)’)
CLUSTER(cluster_name)
5. 定义集群发送方通道:CLUSSDR
对完全存储库定义发送方通道。通道的名字必须和完全存储库的CLUSRCVR相匹配,不要定义CLUSSDR 指向部分存储库。
DEFINE CHANNEL(channel_name)
CHLTYPE(CLUSSDR) TRPTYP(TCP)
CONNAME(‘remote_ip_name_or_address(port)’)
CLUSTER(cluster_name)
6. 定义集群队列
在集群中的其他队列管理可以发送给它而不需要定义对它的远程队列。
只有本地队列管理器才可以从集群队列实例中读取信息。
DEFINE QLOCAL(qname)
CLUSTER(cluster_name)
7. 验证和测试集群
看下面的 display命令
使用Sample程序放入消息到集群队列中,例如:
- amqsput for distributed platforms
- CSQ4BCK1 or CSQ4BVK1 for z/OS
8. 集群架构图:

- QM1和QM2是完全存储库
- 实线呈现了手工定义的 CLUSRCVR和 CLUSSDR通道
- 两条虚线表示自动创建的集群发送通道
- QM2和QM3主管了一些集群队列,它可以放入在集群中任何其他队列管理器中
- 所有的队列管理器都有 SYSTEM.CLUSTER.TRANSMIT.QUEUE,它可以发送信息给集群中任何其他队列管理器
DISPLAY QMGR REPOS REPOSNL QMID
AMQ8408: Display Queue Manager details.
QMNAME(QM1) QMID(QM1_2005-07-12_17.14.38)
REPOS(QMCLUS)REPOSNL( )