MQ-SERVER-to-MQ-SERVER配置方法,最近做一系统,人民银行安装了Mq server,要求本地也要安装Mq server,使用server to server的方式进行交互,请问我本地的mqserver要怎样配置?人民银行要求是两个发送队列两个接受队列,其中一个发送一个接收时持久的。
首先向对方获取通道名,队列名,地址 信息。
然后再本地创建队列管理器,在管理器中根据参数建立通道和队列。
比如有 A B 两个server, A B 两个server上面分别有 QM_A 和 QM_B 两个队列管理器, 假设 A 是发送方,B 是接收方,那么先在B端建立一个接收方通道, 然后在A 端建立一个传输队列,这个队列有参数指向B端的(IP 地址,端口号,队列管理器), 传输队列创建完之后在A端再建立一个发送方通道,注意这个发送方通道的名称一定要和B接受通道的名称一样的,在建立A端发送通道的时候指定之前建立的传输队列,接下来在B端建立两个本地队列用来接受消息的,里面有属性可以设置接受的消息的持久的还是非持久的, 完了之后在A端建立两个远程队列,远程队列里面会有属性让你指向到B端的本地队列的(传输队列,队列管理器名字,本地队列名字等),完后之后在A端建立两个别名队列分别指向那两个远程队列,配置完成,启动发送方通道,他会自动建立和接收方的连接,完后之后就可以测试一下了,在A端的别名队列里面放测试消息,你会发现消息会路由到B端的本地队列里面。
MQ的基本配置举例
在上图中,要实现网络上两台主机上的通讯,若采用点对点的通讯方式,我们至少要建立如下MQ的对象:
在发送方A:
1) 建立队列管理器QMA: crtmqm -q QMA
2) 定义本地传输队列: define qlocal (QMB) usage (xmitq) defpsist(yes)
3) 创建远程队列: define qremote (QR.TOB) rname (LQB) rqmname (QMB) xmitq (QMB)
4) 定义发送通道: define channel (A.TO.B) chltype (sdr) conname ('127.0.0.1(1414)') xmitq (QMB) trptype (tcp)
在接收方B:
1) 建立队列管理器QMB: crtmqm -q QMB
2) 定义本地队列QLB: define qlocal (LQB)
3) 创建接收通道: define channel (A.TO.B) chltype (rcvr) trptype (tcp)
4) 创建监听 : 地址127.0.0.1 端口1414
经过上述配置,我们就可以实现从主机A到B的单向通讯,若要实现二者之间的双向通讯,可参考此例创建所需要的MQ对象。