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

时间:2018-07-20 09:30:10

标签: security websphere integration ibm-mq mq

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

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

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

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

2 个答案:

答案 0 :(得分:2)

您有两个系统都使用它们自己的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这样的东西可以做到这一点。

答案 1 :(得分:0)