文档详情

消息中间件原理与实现.pdf

发布:2019-04-03约1.48万字共15页下载文档
文本预览下载声明
消息中间件原理与实现 桂勇哲 胡栋梁 穆斌 摘要: 现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM 、 RMI 等 RPC 中间件技术也应运而生,但由于采用RPC 同 步处理技术,在性能、健壮性、 可扩展性上都存在着诸多缺点。而基于消息的异步处理模型采用非阻塞的调用特性,发送者 将消息发送给消息服务器,消息服务器在合适的时候再将消息转发给接收者;发送和接收是 异步的,发送者无需等待,二者的生命周期也可以不必相同,而且发送者可以将消息间接传 给多个接收者,大大提 高了程序的性能、可扩展性及健壮性,这使得异步处理模型在分布 式应用上比起同步处理模型更具有吸引力。 本文首先介绍了消息中间件的原理,然后实现消息中间件的一些最重要的功能, 并 说明了实现方法,以及相应功能的应用,最后介绍消息中间件还可以添加哪些重要性质,以 更好的进行消息服务,保证消息的一致异步有效的技术。 关键字:消息中间件,实现,点对点,发布/订阅,持久消息 一、中间件简介 1.1 中间件的定义 中间件(middleware)是基础软件的一大类,属于可复用的软件范畴。中间件在操作系 统软件,网络和数据库之上,应用软件之下,总的作用是为处于自己上层的应用软件提供运 行于开发的环境,帮助用户灵活、高效的开发和集成复杂的应用软件。 中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程 序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实 现。 也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点: 满足大量应用的需要 运行于多种硬件和OS平台 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互 支持标准的协议 支持标准的接口 IDC 对中间件的定义为:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这 种软件在不同的技术之间共享资源,中间件定位于客户机服务器的操作系统之上,管理计算 机资源和网络通信。 因而中间件是指一类软件,是基于分布式处理的软件,最突出的特点是其网络通信功 能。也可认为中间件是位于平台和应用之间的通用服务,这些服务具有标准的程序接口和协 议。针对不同的操作系统和硬件平台,可以有符合接口和协议的多种实现。 1.2 中间件的分类 按照 IDC 的分类方法,中间件可分为六类: 1) 终端仿真/屏幕转换 2) 数据访问中间件(UDA ) 3) 远程过程调用中间件(RPC ) 4) 消息中间件(MOM ) 5) 交易中间件(TPM ) 6) 对象中间件 在实际应用中,一般将中间件分为两大类:一类是底层 中间件,用于支撑单个应用系统或 解决一类问题,包括交易中间件、应用服务器、消息中间件、数据访问中间件等;另一类是 高层中间件,更多的用于系统整合,包 括企业应用集成中间件、工作流中间件、门户中间 件等,他们通常会与多个应用系统打交道,在系统中层次较高,并大多基于前一类的底层中 间件运行。 二、面向消息的中间件 2.1 消息中间件的功能 面向消息的中间件: MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交 流,并基于数据通 信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进 程间的通信,并支持多通讯协议、语言、应用程序、硬 件和软件平台。目前流行的MOM中 间件产品有IBM的MQSeries、BEA的MessageQ等。 主要特点: 通讯程序可在不同的时间运行 程序不在网络上直接相互通话,而是间接地将消息放 入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列 时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消 息。 对应用程序的结构没有约束 在复杂的应用场
显示全部
相似文档