繁体   English   中英

是否可以桥接两个WebSphere MQ消息传递总线?

[英]Is it possible to bridge two WebSphere MQ messaging buses?

我对WebSphere MQ完全陌生,但是我将NServiceBus作为消息传递系统使用。

我面临的情况是,我有两个系统,两个系统都使用自己的WebSphere MQ,并且我需要一个系统中的端点来接收消息并将消息发送到另一个系统,反之亦然。

值得一提的是,这两个系统部署在两个单独的基础结构中,并且存在安全限制,这基本上意味着每个系统上的端点都不能访问另一个系统中的资源。

是否有任何桥接机制可以允许在两个基础结构之间创建一个安全的集成点,然后将消息从一侧的队列复制到另一侧?

您有两个系统都使用它们自己的WebSphere MQ队列管理器。 对于这个答案,我将它们称为QM1和QM2。 您将需要进行如下定义,以将它们结合在一起。

在QM1上创建以下命令:

DEFINE QLOCAL(QM2) USAGE(XMITQ) +
       DESCR('Transmission queue for messages being delivered to QM2')

DEFINE CHANNEL(TO.QM2) CHLTYPE(SDR) CONNAME('ipaddr-qm2(port-qm2)') XMITQ(QM2) +
       DESCR('Sender channel to move messages to QM2')

DEFINE CHANNEL(TO.QM1) CHLTYPE(RCVR) +
       DESCR('Receiver channel is receive messages from QM1') 

在QM2上创建以下命令:

DEFINE QLOCAL(QM1) USAGE(XMITQ) +
       DESCR('Transmission queue for messages being delivered to QM1')

DEFINE CHANNEL(TO.QM1) CHLTYPE(SDR) CONNAME('ipaddr-qm1(port-qm1)') XMITQ(QM1) +
       DESCR('Sender channel to move messages to QM1')

DEFINE CHANNEL(TO.QM2) CHLTYPE(RCVR) +
       DESCR('Receiver channel is receive messages from QM2') 

您还可以研究创建数字证书,并使用各种SSL / TLS设置来保护两个队列管理器之间的这些连接。

您大概有一个队列,在该队列中放置了需要移至其他系统的消息?

如果将该队列放入QREMOTE而不是QLOCAL,则可以将其沿着上述通道向下传递到另一个系统。

DEFINE QREMOTE(SEND.TO.QM2) RNAME(Q.ON.QM2) RQMNAME(QM2) XMITQ(QM2)

如果您已经在QM1上的QLOCAL上收到了需要到达QM2的消息(反之亦然),那么您将需要一个简单的管道应用程序来从它们当前所在的位置获取它们并将它们放入上面定义的QREMOTE。 像QLOAD这样的东西可以做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM