`
javaoldboy
  • 浏览: 71272 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MB与MQ简介

阅读更多

今天听IBM的工程师介绍了MQ和MB的特性,以及他们的区别与联系,觉得很通俗易懂,特此记录,方便将来的初学者可以更快的把握这两者的特点。

首先从概念上来说,MQ是消息中间件,MB是ESB产品

MQ负责在两个系统之间传递消息,这两个系统可以是异构的,处于不同硬件、不同操作系统、用不同语言编写,只需要简单的调用几个MQ的API,就可以互相通讯,你不必考虑底层系统和网络的复杂性。MQ作为IBM的一个拳头产品,虽然功能看上去很简单,就是个消息队列,但他却是IBM中间件的核心,也是相比其他厂商(比如BEA)的一个优势。MQ不仅有很高的性能,而且对各种平台的支持非常好,几乎你能想到的硬件和操作系统平台以及编程语言,MQ都有专门的API支持。

但MQ的功能仅限于消息队列,至于应用A发给应用B的消息格式是怎样的、能不能被应用B解析,MQ管不了,他只是尽力将消息发到目的地(MQ能够应付多种异常情况,例如网络阻塞、临时中断等等)。此外,如果应用的数目多了,那互相之间都要建立MQ连接,网络拓扑就成了蜘蛛网了(就好像是最初的电话系统)

因此,我们将网络的星型拓扑引入系统架构中,把一对一的MQ换成一个中心节点,即ESB,MB即是IBM的ESB产品。

MB处于系统的中心,起到一个总线的作用,所有应用都直接连接到MB,而不是应用之间直接互联,这样的好处不言而喻,可以极大的降低应用之间的耦合性。由此引出MB的两大核心功能:消息路由和数据转换
因为各个应用都插入到MB上,所以应用A只管把消息丢给MB,MB自动根据消息字段、以及业务逻辑,判断要把消息交给谁,这就像路由器一样,根据数据包的头把包路由到相应地址。MB内部的业务逻辑由开发人员设定,当然利用MB的Toolkit,编写业务逻辑也非常简单:拖一些节点,用箭头把它们连起来,就像是画流程图一样,非常形象简单。再用MB的脚本语言(类似sql的脚本)实现逻辑判断,通俗地说就是判断要走哪个逻辑分支(if...else.....)。

不过各个应用是怎样与MB连接的呢?MB提供了三种方式:MQ、文件和web service

MQ方式即是利用MQ将MB与应用互联;文件方式则是指定某个目录,MB会自动监视那个文件目录,一旦文件有改变则认为是新的消息到来,MB自动读取指定文件的内容;而web service就不用解释了,直接利用web service进行通讯。MB支持这些互联方式也是为了最大化兼容性,特别是对于那些遗留系统或是不支持主流通讯方式的系统

最后说说一个比较偏门的ESB产品:websphere ESB。听过的人可能不多,因为IBM在中国推广的比较少,这个WESB很像是MB的精简版,只支持JMS、WS等少数几种J2EE的通讯方式,所以是为J2EE专门准备的。不像MB,支持数十种平台和通讯方式,例如FTP,甚至很多你根本没听说过的很古老的通信协议。这两者的性能相差不少,价格也有三四倍的差距。更要命的是,原先在WESB上开发的东西,是不能迁移到MB使用的,IBM似乎铁了心要狠狠宰我们,唯一的方法是再买一个MB,然后用MQ把WESB和MB连接起来,各跑各的

漏了一个DataPower,这东西我只是略有了解,它的卖点在于硬件支持XML,所以性能比较好,此外还支持一下web service安全方面的东东。因此,WESB是最小功能集,而MB与datapower功能上有一定重叠,如XML 

最后声明,我不是在给IBM打广告

分享到:
评论
1 楼 sixfeeling 2012-05-22  
好文,很清晰的阐明了几个产品之间的联系

相关推荐

    MBMQ从入门到精通.zip

    《MBMQ从入门到精通》是一份全面介绍IBM企业服务总线(Enterprise Service Bus,ESB)中的Message Broker(MB)和Message Queuing(MQ)技术的深度学习资源。这份资料旨在帮助初学者快速掌握这两种关键技术,并提升...

    MB_MQ_Tools

    "MB_MQ_Tools" 是一个与消息中间件相关的工具集合,主要针对IBM的MQ(Message Queue)产品。MQ是企业级的消息传递系统,用于在不同的应用程序之间安全、可靠地传输数据,尤其在分布式和SOA(Service-Oriented ...

    MB_MQ_Tutorial

    【MB_MQ_Tutorial】教程是面向那些希望深入了解消息中间件(Message Broker,简称MB)以及消息队列(Message Queue,简称MQ)技术的学习者。本教程以IBM的WebSphere MQ为例,它是一款广泛应用于企业服务总线...

    IBM MQ培训资料

    系统管理部分将涵盖队列管理器的日常操作、监控、备份与恢复,而应用程序开发则涉及如何编写MQ API调用,实现应用程序与MQ的交互,以及错误处理和性能优化。 3. "2.3MQ Technical Training Classes(Intermediate)-...

    AIX小机上安装MQ,MB操作手册

    AIX小机上安装MQ、MB操作手册 本文档介绍了在AIX小机上安装Websphere MQ和Websphere Message Broker的步骤,涵盖了环境需求、安装前检查、安装过程、验证安装等方面的知识点。 一、环境需求 1.1 硬件环境:至少...

    IBM MQ 9 RedHat7安装说明

    ### IBM MQ 9 在 Red Hat 7 的安装与配置指南 #### 一、安装前的准备工作 ##### 1.1 安装 JDK 为了确保 IBM MQ 的顺利运行,首先需要安装 Java Development Kit (JDK)。以下是安装 JDK 的步骤: 1. **下载并安装...

    mq日志介绍

    默认情况下,MQ可能配置为使用三个日志文件,每个文件的大小根据操作系统不同而有所差异,如在UNIX系统中默认每个文件为4MB,在OS/2 Warp和Windows NT系统中则是1MB。 2. 日志控制文件:这些文件用于管理和跟踪日志...

    IBM WebSphere MQ安装使用教程详细图解

    基本安装需要85MB磁盘空间,运行时至少20MB内存,安装过程需要30MB的临时空间。 2. **软件环境**:最低操作系统要求为Microsoft Windows 2000 SP3或更高版本,或者Windows XP SP1及以上。此外,需要确保安装了所有...

    MQ如何发送超4M报文总结(付图文)

    本文主要针对MQ如何发送超过4MB的大报文消息进行深入探讨。 ### 一、问题背景 在某些业务场景下,应用程序需要传递大量数据,例如日志数据、文件内容等,这些数据往往超过了MQ默认的最大消息长度(通常是4MB)。当...

    MBMQ性能调优[参考].pdf

    【MQ性能调优】在软件开发中,MQ(Message Queue)是重要的中间件技术,用于应用程序之间的异步通信。本文主要关注MQ的性能优化策略,包括API调用、消息大小、队列操作、消息处理方式以及队列属性的调整。 1. API...

    IBM MQ 7.5.0 windows版本(压缩包1/4)

    IBM MQ 7.5.0 windows版本压缩包第一部分,共4部分(分割是为了满足平台只能上传110MB文件的要求)。IBM MQ是JMS协议的一个实现,广泛用在系统集成中。

    IBM WebSphere MQ 7.5.0 windows版本(压缩包1/2)

    IBM MQ 7.5.0 windows版本压缩包第一部分,共2部分(分割是为了满足平台只能上传260MB文件的要求)。

    MQ7.0 pub/sub功能初步研究

    在MQ7.0之前,如果要实现发布/订阅,通常需要借助Message Broker(如MB)或其他外部工具,为每个队列管理器创建代理。但在MQ7.0中,发布/订阅功能已经被内置到队列管理器中,无需额外的外部机制。这使得管理过程更加...

    IBMMQ V9100 Windows版本 part1

    IBMMQ V9100 Windows版本 第一个,总共两个文件,总大小419MB。

    IBM MQ 7.0安装配置文档

    ### IBM MQ 7.0 安装与配置关键知识点 #### 一、概述 IBM MQ 7.0 是一款企业级的消息中间件产品,用于在分布式应用环境中传递消息。通过提供可靠的、安全的信息传输机制,IBM MQ 能够支持各种业务场景下的数据交换...

    IBM MQ 7.5.0 windows版本(压缩包2/4)

    IBM MQ 7.5.0 windows版本压缩包第二部分,共4部分(分割是为了满足平台只能上传110MB文件的要求)。IBM MQ是JMS协议的一个实现,广泛用在系统集成中。

    WebSphere MQ For AIX和HP-UX安装配置.doc

    系统需求与准备 在安装WebSphere MQ之前,必须确保硬件和软件满足最低要求。对于AIX,需要AIX5L V5.2或更高版本,而HP-UX则需要IPF V2以上的版本。此外,TCP/IP是必需的通信协议。操作系统和硬件兼容性的详细信息...

Global site tag (gtag.js) - Google Analytics