技术开发 频道

应用WebSphere MQ V6构建企业信息总线

【IT168 技术文章】

    引言

    IBM WebSphere MQ 是目前应用最多的消息中间件产品, 它采用了消息队列(Message Queue)这种应用程序间的通信方法, 让不同的应用程序通过读写和检索出入队列中的数据(消息)来通信, 而无需直接面对网络易变、系统异构、数据协同等各种问题和风险。 WebSphere MQ 同时也支持简单的 Publish/Subscribe(发布 / 订阅)消息传递机制, 每个队列管理器中有唯一的 Broker 代理来处理所有的订阅和发布。

    WebSphere MQ 支持 Cluster(簇或集群),即多个队列管理器(Queue Manager 以下简称 QM) 的集合,这些队列管理器可以分布在不同的机器上。 本文中的例子采用了上述的 Queue 和 Pub/Sub 两种方式, 并创建了一个 MQ Cluster 来简化数据传输的配置和 MQ 对象的管理, 采用 MQ Cluster 的理由基于其如下特点:

    1) Cluster 中的队列管理器之间的数据传输通道是自动建立的, 使得数据传输配置变得更简单;

    2) 队列管理器中的队列可以被指定为 Cluster 共享队列, 对 Cluster 中的所有的队列管理器都是可见的; 不同队列管理器中定义的同名 Cluster 共享队列自动实现针对该队列的传输负载均衡;

    3) 不同队列管理器的 Broker 代理之间可以指定主从关系, 这样就可以在 Cluster 内很方便地实现树状的 Pub/Sub 结构。

    在根据需要配置好 WebSphere MQ 之后, 就可以在 WAS 上进行相应配置并在应用程序中集成这些资源了。 下文将会详细介绍如何根据本文实例的需要来配置 WebSphere MQ, 以及 WAS 和应用代码、配置上的细节。

    实例描述

    这是一个出入境清关系统的例子(见图 1.1)。这个系统由一个管理中心 (Headquarter,以下简称 HQ)和多个子控制中心(Control Point,以下简称 CP)构成。 其中每个 CP 会产生大量清关数据(Move Record,以下简称 MR), 这些清关数据需要被传送到 HQ 上汇总;各个 CP 在处理清关操作的时候需要的监控列表 (Watch List,以下简称 WL)则由 HQ 定制并不定期向各个 CP 分发。

    图 1.1 系统示意图一

    这里 CP 和 HQ 之间的数据传输采用 WebSphere MQ 来实现, HQ 和每个 CP 都有自己的队列管理器(QM),这些 QM 被配置为同处于一个 MQ Cluster 中。 MR 的数据传输是 CP 到 HQ 单向点到点的数据传输, 在本例中用定义在 HQ 端的队列管理器中的 Cluster 共享队列(MR2HQ.Q)来实现。 WL 的数据则是 HQ 向各个 CP 的广播,这就需要采用 Pub/Sub 的模式。 实例中是选择 HQ 的一个队列管理器启动 Broker 服务, 然后每个 CP 的队列管理器也都启动 Broker 服务并作为 HQ 的 Broker 子结点。

    图 1.2 系统示意图二

0
相关文章