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打广告

时间: 2024-10-09 12:56:17

MB与MQ简介的相关文章

WebSphere MQ简介

1.中间件 中间件处于应用软件和系统软件之间,是一种以自己的复杂换取企业应用简单化的可复用的基础软件.在中间件产生以前,应用软件直接使用操作系统.网络协议和数据库等开发,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计和管理,复杂多变的网络环境,数据分散处理带来的不一致性,性能和效率.安全问题等等.这些问题与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力.于是,有人提出将应用软件所要面临的共性问题进行提炼.抽象,在操作系统之上再形成一个可复用的部分,供成

消息中间件(消息队列MQ)简介

一.为什么要使用MQ 1. 异步:快速返回 2. 解耦:解除依赖 3. 削峰填谷 二.MQ的缺点 1. 系统可用性降低,因为MQ可能会挂 2. 系统复杂性提高,要考虑消息重复.丢失.顺序等问题 3. 数据一致性问题,生产者并不知道消费者是否真正消费了 三.怎么保证MQ消息不丢失 1. 生产者丢失数据,confirm机制 2. MQ丢失数据,持久化到磁盘 3. 消费者丢失数据,确认机制 四.怎么保证MQ高可用性 1. 单机模式 2. 普通集群模式,无法做到真正的高可用 3. 镜像集群模式,高可用但

MQ、JMS以及ActiveMQ的了解和认识

新加入的公司中,架构用到了activeMq,对于以前只了解nginx.tomcat的我有点懵逼,所以在网上找点资料看看,了解下什么是MQ,activemq.具体作用是什么 MQ MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队

MQ原理、使用场景、IBM WebSphere MQ介绍及spring集成配置

一.MQ简介及特点 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队指的是应用程序通过队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求.其中较为成熟的MQ产品有IBM WebSphere MQ.RabbitMQ .ZeroMQ

MQ、JMS以及ActiveMQ

MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队指的是应用程序通过队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求.其中较为成熟的MQ产品有IBMWEBSPHERE MQ. MQ特点: MQ的消费-生产者模型的一个

运维文档分享(2):IBM MQ运维使用手册

前言:最近整理电脑,发现之前写的几篇生产上的运维测试文档,特来分享. 一.测试环境说明 本次测试linux端和windows端主要参数配置如下:Linux:操作系统版本:SUSE Linux Enterprise Server 10 SP4    32bitMQ版本:7.1.0.3Ip地址:192.168.0.151 Windows:操作系统版本:Windows 7旗舰版SP1 32bitMQ版本:7.1.0.3Ip地址:192.168.0.111 二.MQ简介1)消息中间件概述    消息队列

MQ(消息队列)常见的应用场景解析

前言 j提高系统性能首先考虑的是数据库的优化,之前一篇文章<数据库的使用你可能忽略了这些>中有提到过开发中,针对数据库需要注意的事项.但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前. 不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这个思路.阻隔直达数据库的流量,缓存组件和消息组件是两大杀器. MQ简介 MQ,Message queue,消息队列,就是指保存消息的一个容器.具体的定义这里就不类似于数据库.缓存等,用来保存数据的.当然

Rabbitmq简介及部署群集

博文大纲:一.MQ简介二.什么是RabbitMQ?三.安装RabbitMQ四.部署Rabbitmq集群1)部署环境2)安装rabbitmq服务3)配置host文件,并将上述两个节点加入集群4)rabbitmq01配置群集并将rabbitmq02.03加入01群集5)访问web界面6)web页面添加vhost五.单台节点加入或退出群集1)单节点加入集群2)单节点退出集群 一.MQ简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队

ESB (Enterprise Service Bus)入门知识

本文主要介绍ESB相关的一些技术概念与术语,还有一些入门的需要了解的基础知识,并初步了解介绍一些ESB产品.由于本人刚接触ESB,所以将自己的学习内容与过程,记录下来!愿在这里与大家分享一下,共同进步与提高! [转载使用,请注明出处:http://blog.csdn.net/mahoking] EAI 企业应用集成(Enterprise Application Integration):是完成在组织内.外的各种异构系统.应用和数据源之间共享.交换信息.协作的途径,方法学,标准和技术. 所连接的应