第15章 · 播客 第2集

基于中间件的开发 · 中间件八大类与两颗明星:MQSeries 和 Tuxedo

🎙️ 本集播客第2集:按职责划分的八大类中间件逐一过堂——消息中间件凭什么是销售额最大、Tuxedo 为什么是增长率最高,再把 IBM MQSeries 的可靠传输和 BEA Tuxedo 的 ATMI/DDR/LLE 一网打尽,「谁是消息中间件谁是交易中间件」这个互串陷阱重点拆解。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
🎙️ 第15章播客 第2集
⬇ 下载本集 点击播放
阿明
小雅姐,上集把中间件的概念钉死了,今天讲分类?
小雅
对。原文打了个很妙的比方:好比一个大型城市的交通系统,将网络看作市区马路,通过交通工具如汽车实现通信,每分钟将有数以万辆车在马路上行驶,如果没有相应的交通设施和管理规划,城市将会乱成一团,发生各种交通事故,中间件系统就相当于这些配套的交通设施。然后给出分类的总纲:按照中间件在分布式系统中承担的职责不同,可以划分八类。这半句「按照职责不同」就是分类的依据,选项里如果改成「按照实现语言」或「按照部署位置」,都是错项。
阿明
八类,第一类是管消息的吧?
小雅
第一类,通信处理(消息)中间件。原文的类比:安装红绿灯,设立交通管理机构,制定出交通规则,才能保证道路交通畅通。在分布式系统中,人们要建网和制定出通信协议,以保证系统能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,这类中间件称为消息中间件。然后是本集第一句必背:它也是市面上销售额最大的中间件产品,目前主要产品有 BEA 的 eLink、IBM 的 MQSeries、TongLINK 等。
阿明
销售额最大、eLink、MQSeries、TongLINK。这就能出题了吧?
小雅
能,而且是原题。问「按照中间件在分布式系统中承担的职责不同,下列哪一项属于市面上销售额最大的中间件产品」,四个选项:事务处理中间件、通信处理(消息)中间件、数据存取管理中间件、安全中间件,答案是通信处理(消息)中间件。另外补一句原文的话:实际上,一般的网络操作系统如 Windows 已包含了其部分功能。判断题问「消息中间件的功能是否完全独立于网络操作系统」,错,Windows 已包含其部分功能。
阿明
第二类呢,名字里带交易的?
小雅
第二类,事务处理(交易)中间件。类比是城市交通中要运行各种运载汽车完成日常运载,同时随时监视汽车运行,在出现故障时及时排堵保畅。它的场景:在分布式事务处理系统中,经常要处理大量事务,特别是 OLTP 中,每项事务常常要多台服务器上的程序按顺序协调完成,一旦中间发生某种故障,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行。要使大量事务在多台应用服务器上能实时并发运行,并进行负载平衡的调度,实现与昂贵的可靠性机和大型计算机系统同等的功能,就要求中间件系统具有监视和调度整个系统的功能。
阿明
这段有点长,考点是哪几个词?
小雅
三个词组:OLTP、系统永不停机、监视和调度整个系统。然后是原文的收束句,也是第二句必背:BEA 的 Tuxedo 由此而著名,它成为增长率最高的厂商。注意和第一类对比着记——消息中间件是「销售额最大」,Tuxedo 是「增长率最高」,两个最高别张冠李戴,这是选择题的固定陷阱。
阿明
消息中间件销售额最大,Tuxedo 增长率最高。后面六类呢?
小雅
第三类,数据存取管理中间件。场景是分布式系统中重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。记三个动作:虚拟缓冲存取、格式转换、解压。
阿明
虚拟缓冲、格式转换、解压。第四类是 Web 服务器?
小雅
第四类,Web 服务器中间件。它的存在理由要说全:浏览器图形用户界面已成为公认规范,然而它的会话能力差、不擅长做数据写入、受 HTTP 协议的限制等,就必须进行修改和扩充,形成了 Web 服务器中间件,如 SilverStream 公司的产品。三个理由——会话能力差、不擅长做数据写入、受 HTTP 协议限制,产品名 SilverStream。
阿明
第五类安全中间件,这个我猜跟国产化有关?
小雅
猜对了,原文很有时代特色:一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。这句「不安全因素由操作系统引起、用中间件解决」是判断题好材料。
阿明
第六类跨平台和架构,是不是就是 CORBA 那一票?
小雅
第六类,跨平台和架构的中间件。当前开发大型应用软件通常采用基于架构和构件技术,在分布式系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了架构中间件。原文给三个代表并各自点评:功能最强的是 CORBA,可以跨任意平台,但是过于庞大;JavaBeans 较灵活简单,很适合于做浏览器,但运行效率有待改善;
阿明
那句关于国内平台的背景也提一下。
小雅
COM+ 模型主要适合 Windows 平台,在桌面系统已广泛使用。这三条点评是配对题常客——CORBA 配「功能最强但过于庞大」、JavaBeans 配「灵活简单适合浏览器但效率待改善」、COM+ 配「适合 Windows 桌面」。最后还有一句背景:由于国内新建系统多基于 UNIX 包括 Linux 和 Windows,因此针对这两个平台建立相应的中间件市场相对要大得多。
阿明
CORBA 跨任意平台、JavaBeans 灵活简单、COM+ 绑 Windows。还剩两类。
小雅
第七类,专用平台中间件:为特定应用领域设计领域参考模式,建立相应架构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。关键词是「特定领域」「关键任务」。第八类,网络中间件:它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前最热门的研发项目。五个成员加一个「最热门的研发项目」,原文说的。
阿明
八类齐了。那 MQSeries 和 Tuxedo 这两个产品,是不是该细讲了?
小雅
先讲 IBM MQSeries。IBM 公司的 MQSeries 是 IBM 的消息处理中间件——先把定位焊死:消息处理中间件。MQSeries 提供一个具有工业标准、安全、可靠的消息传输系统,它用于控制和管理一个集成的系统,使得组成这个系统的多个分支应用(模块)之间通过传递消息完成整个工作流程。MQSeries 基本由一个信息传输系统和一个应用程序接口组成,其资源是消息和队列。这句「由信息传输系统和应用程序接口组成、资源是消息和队列」是选择题原句。
阿明
它的招牌能力是什么?
小雅
MQSeries 的关键功能之一是确保信息可靠传输,即使在网络通信不可靠或出现异常时也能保证信息的传输。MQSeries 的异步消息处理技术能够保证当网络或者通信应用程序本身处于「忙」状态或发生故障时,系统之间的信息不会丢失,也不会阻塞。原文还补了利害关系:这样的可靠性是非常关键的,否则大量的金钱和客户信誉就会面临极大的损害。三个关键词:不丢失、不阻塞、可靠传输。
阿明
那它支持的平台面呢?
小雅
MQSeries 是灵活的应用程序通信方案:支持所有的主要计算平台和通信模式,也能够支持先进的技术如 Internet 和 Java,拥有连接至主要产品(如 LotusNotes 和 SAP/R3 等)的接口。判断题问「MQSeries 是否只支持 IBM 自家平台」,显然错,它支持所有主要计算平台。
阿明
然后是 Tuxedo。这个产品和 MQSeries 我一直分不清谁是谁。
小雅
这正是本章产品类的头号陷阱,我用一道真题给你拆。题目问「关于 BEA Tuxedo 的描述,下列哪项是错误的」,四个选项:A,属于消息中间件,提供可靠异步传输;B,允许客户机和服务器参与涉及多个数据库协调更新的交易,并能够确保数据的完整性;C,根据负载指示自动开启和关闭应用服务,实现负载均衡;D,ATMI 为 50 多种硬件平台和操作系统提供一致的编程接口。答案选 A——因为 Tuxedo 属于交易中间件,不是消息中间件。
阿明
杀招就是把两个产品的定位调包。MQSeries 是消息中间件,Tuxedo 是交易中间件。
小雅
对,只认这两个词的配对,别被「异步传输」迷惑。原文原话:BEA 公司的 Tuxedo 作为电子商务交易平台,属于交易中间件。它允许客户机和服务器参与一个涉及多个数据库协调更新的交易,并能够确保数据的完整性——这就是 B 选项的出处。BEA Tuxedo 一个特色功能是能够保证对电子商务应用系统的不间断访问:它可以对系统构件进行持续的监视,查看是否有应用系统、交易、网络及硬件的故障。一旦出现故障,BEA Tuxedo 会从逻辑上把故障构件排除,然后进行必要的恢复性步骤。监视四类故障——应用系统、交易、网络、硬件。
阿明
那负载均衡和路由那些缩写呢?DDR、ATMI、LLE?
小雅
逐个来。第一,BEA Tuxedo 根据系统的负载指示,自动开启和关闭应用服务,可以均衡所有可用系统的负载,以满足对应用系统的高强度使用需求——这是 C 选项的出处。第二,借助 DDR 数据依赖路由,BEA Tuxedo 可按照消息的上下文来选择消息路由;DDR 全称是数据依赖路由,按上下文选路由。第三,其交易队列功能,可使分布式应用系统以异步「少连接」方式协同工作。
阿明
LLE 是安全的那个吧?
小雅
对。BEA Tuxedo 的 LLE 安全机制可确保用户数据的保密性。而 ATMI 的全称要连起来背:应用/交易管理接口(ATMI)为 50 多种硬件平台和操作系统提供了一致的应用编程接口——数字「50 多种」,这是 D 选项的出处。最后一句:BEA Tuxedo 基于网络的图形界面管理可以简化对电子商务的管理,为建立和部署电子商务应用系统提供了端到端的电子商务交易平台。
阿明
四个缩写齐了:ATMI 应用/交易管理接口 50 多种平台、DDR 数据依赖路由按上下文选路、LLE 安全机制保保密、交易队列异步少连接。
小雅
本集必背清单:八类中间件——通信处理(消息)中间件、事务处理(交易)中间件、数据存取管理中间件、Web 服务器中间件、安全中间件、跨平台和架构中间件、专用平台中间件、网络中间件;消息中间件是市面上销售额最大的中间件产品,代表 BEA eLink、IBM MQSeries、TongLINK;交易中间件代表 BEA Tuxedo、增长率最高厂商;消息中间件三个动作虚拟缓冲存取格式转换解压;Web 服务器中间件三缺陷会话能力差不擅数据写入受 HTTP 限制、产品 SilverStream;
阿明
后半段接着背。
小雅
安全中间件不安全因素由操作系统引起但必须用中间件解决;CORBA 功能最强但过于庞大、JavaBeans 灵活简单适合浏览器、COM+ 主要适合 Windows;网络中间件含网管接入网络测试虚拟社区虚拟缓冲、是最热门研发项目。产品定位:MQSeries 消息处理中间件、由信息传输系统和应用程序接口组成、资源是消息和队列、不丢失不阻塞;Tuxedo 交易中间件、监视四类故障、ATMI 50 多种平台、DDR 数据依赖路由、LLE 安全机制、交易队列异步少连接、端到端电子商务交易平台。
阿明
这集把八类和两个产品的定位彻底焊死了。下一集?
小雅
下一集讲应用服务器——Web 应用开发的三阶段怎么一路演进到应用服务器,应用服务器的四大作用逐条过,再把 WebLogic、WebSphere、iPlanet、Oracle iAS、EAServer 五大产品的关键细节一网打尽,那些产品名和特性的配对也是选择题的常客。