数据消息中间件介绍 DMQ

数据消息中间件介绍 DMQ
数据消息中间件介绍 DMQ

Asiainfo-Linkage, Inc.,

数据消息中间件介绍

DMQ

CUC SRD1-UAP-PSO

修订文档历史记录

机密 Asiainfo-Linkage, Inc., 第 2 页共13 页

1背景

目前几个流行的消息中间件产品分析:

◆Apache的ActiveMq我们的几个产品都在使用,存在几个方面问题:使

用复杂、维护不方便,容易出故障等,比如,

需要熟悉JMX规范,了解各种接口定义;

产品提供的web监控页面不直观,需要做深入了解后,才明白。

监控mq内部运行情况,需要根据提供的接口进行代码开发;

◆IBM的MQ不仅收费,而且使用更复杂,bug多,且不稳定。服务开通

系统以前使用过,后来放弃使用。

◆微软MSMQ,从网络上大众使用的反馈也不好,不稳定。

所以计划自己开发一个简单的队列处理器,简称:DMQ。

2目标

希望解决:

1.提供稳定的消息中间件;

2.使用简单,部署、配置很容易;

3.更方便维护,通过简单的sql语句即可查询、操作队列数据,以及页面展示

等;

4.可以根据业务优先级定义,分配不同的队列,并按优先级获取队列数据;

5.为今后消息中间件使用提供产品复用

3功能实现

结合BSS等业务系统具体情况:有数据库、使用人员都熟悉数据库等,因此,创建队列数据到自己的数据库中。方便队列数据的查询、监控以及队列数据维护。

机密 Asiainfo-Linkage, Inc., 第 3 页共13 页

3.1 目前MQ使用情况

3.1.1BSS-OCS接口平台

3.1.2UIP平台

机密 Asiainfo-Linkage, Inc., 第 4 页共13 页

3.2 设计目标

目标:一个jar,一个tns,一个sql,即可提供一个MQ

1、使用tns数据库配置;

2、可以定义获取队列数据规则:

a.队列优先等级。根据业务优先级划分队列,比如:挂失、调账、业务订购等划分不同优先级的队列;

b.入队时间优先级

3、可以定义队列消息生存时间;

4、消亡后的队列消息处理方式:删除、放入历史表;

5、取队列数据接口返回值类型:

a.对象,一个队列记录对应的java对象

b.应用流水号

c.消息消息内容

3.3 业务流程

机密 Asiainfo-Linkage, Inc., 第 5 页共13 页

其中“反向回执”根据具体应用场景确定是否存在。

3.3.1生产者模块

外围通过调用组件给出的接口对所需要同步的消息进行优先级处理,并保存至数据库供消费模块消费。

外围系统接入时,通过接口告知DMQ启动加载配置文件至内存。

外围系统请求业务操作,生产者模块根据配置的消息优先级将消息入库。

外围系统调用接口轮询,生产者模块根据配置策略返回消息回执。3.3.2消费者模块

生产者模块根据业务配置的优先级策略,把请求消息写入到消息队列后,消费者模块主要做一下操作:

消费者模块到消息队列表里,根据消息队列表里的应用类型,消息队列状态(见队列表)等读取消息队列表的请求消息,并修改消息状态;

根据业务并发标识来逻辑判断同一个号码同时做不同的业务操作,业务优先级的高低,然后消费者模块根据业务队列的优先级和配置的对应权重比

处理不同请求消息,并回执应答给消息队列;

机密 Asiainfo-Linkage, Inc., 第 6 页共13 页

根据应用类型的单向和双向传递标识,如果消费者模块需要写入回执应答消息,则把反调响应消息写入消息队列,并修改消息状态。

消费者模块还需要考虑到,一次读取消息队列里最大接收数,读取不到消息,采用什么时间机制继续读取,消费者如果应答超时,应重新读取消息,以保证消息的正常和正确处理,在接收和发送消息处理中,记录相关情况,并记入日志。

3.4 优先级策略设计

大致顺序是:消息放入队列-→根据业务的优先级配置队列→按照优先级的处理高低,配置分发策略的权重比,保证优先级高的队列,得到权重相对大的业务消息分配,

比如,缴费,开户,查询三个业务,优先级是由高到低,设置的权重比是3:2:1,当多个请求消息进来,保证优先级高的缴费和依次的开户,查询可以在某一个时间内比如1分钟按照这个权重比分配来处理。

需要建立分发策略配置表或在配置文件里进行队列和权重比的配置,具体的配置表结构为:(仅作参考)

create table TD_M_QUEUE_DISTRIBUTE //分发策略配置表

(

CHANNELTYPE V ARCHAR2(30) not null,

BUSINESSTYPE V ARCHAR2(30) not null,

DISTRIBUTEQUEUE V ARCHAR2(30) not null,

LOADFACTOR V ARCHAR2(30) not null,

TRANSMITQUEUE V ARCHAR2(30) not null,

V ALUE1 V ARCHAR2(20),

V ALUE2 V ARCHAR2(30),

V ALUE3 V ARCHAR2(50)

);

具体参数可以参考短信平台的表配置内容。

3.5 数据模型设计

3.5.1队列信息表

应用标识(1-10个字符)

应用类型(0-数据流单向传递,1-数据流双向传递)

内部流水号

队列名

队列优先级

消息有效时间(毫秒)(0-一直有效,否则具体数值)

机密 Asiainfo-Linkage, Inc., 第7 页共13 页

机密

Asiainfo-Linkage, Inc.,

第 8 页 共 13 页

消息消亡方式(1-直接删除,2-移到备份表) 业务流水号(如:业务办理流水) 业务并发标识(如:号码)

消息状态(0-接入写入消息,1-接出取走消息,2-接出回写回执(反向传递),3-接入取回执(反向传递),4-接入处理完回执,见业务流程时序图) 插入时间(timestamp 类型) 更新时间(timestamp 类型) 请求消息内容(可以为空)

返回消息内容(可以为空,反向传递) 预留

3.5.2 触发器设计

用于自动维护已消亡的消息

3.5.3 序列设计

用于标识DMQ 内部消息唯一性

3.6 配置项设计

进程启动后,文件配置加载到内存。配置内容如下:configDmq.xml

3.6.1应用列表

TAG

3.6.2应用标识

机密 Asiainfo-Linkage, Inc., 第9 页共13 页

3.6.3应用类型TYPE

3.6.4消息有效时间OVERTIME

3.6.5消息消亡方式PROCESS

QUEUES

3.6.6分配的队列列表

TRADETYPE

机密 Asiainfo-Linkage, Inc., 第10 页共13 页

3.6.6.2 本队列优先级PRIOR

3.6.6.3 队列深度DEPTH

DBLIST

3.6.7数据库配置信息

3.6.7.1 数据库连接标识

机密 Asiainfo-Linkage, Inc., 第11 页共13 页

3.6.7.2 数据库连接地址url

3.6.7.3 用户名称user

3.6.7.4 用户密码password

3.6.7.5 最大连接maxlimit

3.7 接口设计

fetchMsg接口返回值类型包含:

对象,一个队列记录对应的java对象

应用流水号

消息内容

消息序列号

3.7.1接入端

insertMsgForIn

fetchMsgForIn

finishMsgForIn

3.7.2接出端

fetchMsgForOut

finishMsgForOut

3.7.3具体应用举例

3.7.3.1 正向调用

如:OCS应用使用上述接口逻辑顺序是:

机密 Asiainfo-Linkage, Inc., 第12 页共13 页

insertMsgForIn-→ fetchMsgForOut→ finishMsgForOut

3.7.3.2 正向+反向调用

如:UIP应用使用上述接口逻辑顺序是:

insertMsgForIn-→ fetchMsgForOut→ finishMsgForOut

fetchMsgForIn→ finishMsgForIn

3.7.3.3 其它类型调用?

你想到了吗?

接口入参待补充

4部署说明

5性能要求

机密 Asiainfo-Linkage, Inc., 第13 页共13 页

消息中间件及WebSphere MQ入门

消息中间件概述 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的信息,对应用提供公共的信息交换机制是重要的。 设计分布式应用的方法主要有:远程过程调用(PRC)--分布式计算环境(DCE)的基础标准成分之一;对象事务监控(OTM)--基于CORBA的面向对象工业标准与事务处理(TP)监控技术的组合;消息队列(MessageQueue)--构造分布式应用的松耦合方法。 (a) 分布计算环境/远程过程调用(DCE/RPC) RPC是DCE的成分,是一个由开放软件基金会(OSF)发布的应用集成的软件标准。RPC模仿一个程序用函数引用来引用另一程序的传统程序设计方法,此引用是过程调用的形式,一旦被调用,程序的控制则转向被调用程序。 在RPC实现时,被调用过程可在本地或远地的另一系统中驻留并在执行。当被调用程序完成处理输入数据,结果放在过程调用的返回变量中返回到调用程序。RPC完成后程序控制则立即返回到调用程序。因此RPC模仿子程序的调用/返回结构,它仅提供了Client(调用程序)和Server(被调用过程)间的同步数据交换。 (b) 对象事务监控(OTM)

基于CORBA的面向对象工业标准与事务处理(TP)监控技术的组合,在CORBA 规中定义了:使用面向对象技术和方法的体系结构;公共的Client/Server程序设计接口;多平台间传输和翻译数据的指导方针;开发分布式应用接口的语言(IDL)等,并为构造分布的Client/Server应用提供了广泛及一致的模式。(c) 消息队列(Message Queue) 消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合方法。消息队列的API调用被嵌入到新的或现存的应用中,通过消息发送到存或基于磁盘的队列或从它读出而提供信息交换。消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。 中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络通讯。它在计算机系统中是一个关键软件,它能实现应用的互连和互操作性,能保证系统的安全、可靠、高效的运行。中间件位于用户应用和操作系统及网络软件之间,它为应用提供了公用的通信手段,并且独立于网络和操作系统。中间件为开发者提供了公用于所有环境的应用程序接口,当应用程序中嵌入其函数调用,它便可利用其运行的特定操作系统和网络环境的功能,为应用执行通信功能。 如果没有消息中间件完成信息交换,应用开发者为了传输数据,必须要学会如何用网络和操作系统软件的功能,编写相应的应用程序来发送和接收信息,且交换信息没有标准方法,每个应用必须进行特定的编程从而和多平台、不同环境下的一个或多个应用通信。例如,为了实现网络上不同主机系统间的通信,将要求具备在网络上如何交换信息的知识(比如用TCP/IP的socket程序设计);为了

案例主要软硬件选型原则和详细软硬件配置清单

5.12主要软硬件选型原则和详细软硬件配置清单 5.12.1软硬件选型原则 软件选型原则:开放性,对称性与非对称处理,异种机互联能力,目录及安全服务的支持能力,应用软件的支持能力,网管能力,性能优化和监视能力,系统备份/恢复支持能力。 硬件选型原则:系统的开放性,系统的延续性,系统可扩展性,系统的互连性能,应用软件的支持,系统的性价比,生产厂商的技术支持,可管理性(同事管理多处工作,消除问题,智能管理的方法),远程管理,状况跟踪,预故障处理,性能监控,安全管理,可用性,磁盘故障,内存问题,容错性(冗余组件、自动服务器恢复,冗余网卡,冗余CPU电源模块,双对等PCI总线)及平台支持 5.12.2软硬件配置清单 参考《附表》中的项目软硬件配置清单。 5.13机房及配套工程建设方案 使用目前已经建设好并正在使用的机房,不需要重新建设。

3.4.2性能需求 3.4.1.2.1交易响应时间 交易响应时间指完成目标系统中的交互或批量业务处理所需的响应时间。 根据业务处理类型的不同,可以把交易划分为三类:交互类业务、查询类业务和大数据量批处理类业务,分别给出响应时间要求的参考值,包括峰值响应时间、平均响应时间。 1、交互类业务 日常交易指传统的大厅交互业务,如申报、发票销售、税务登记等,具有较高的响应要求。批量交易指一次完成多笔业务处理的交易,如批量扣缴等,由于批量交易的数据量不确定,需要根据具体的情况确定响应时间。 表3-1交易类业务复杂性与响应时间关系表

备注:以上交易如果涉及与税务-国库-银行或税务-银行-国库交互的,响应时间参考值中均包含交互的时间 2、查询类业务 如登记资料查询、申报表查询等。查询业务由于受到查询的复杂程度、查询的数据量大小等因素的影响,需要根据具体情况而定,在此给出一个参考范围。 如有特殊要求,可以在具体开发文档中单独给出响应时间要求。 表3-2查询类业务复杂性与响应时间关系表 备注:业务处理过程的交互操作的响应时间参见上面交互类业务的相关指标。 3、大数据量、批处理业务 如会计核算等业务处理,该类业务具有处理复杂、操作数据量大、处理时间长的特点,具体的响应时间在开发文档中给出。 3.4.1.2.2可靠性 系统应保证在正常情况下和极端情况下业务逻辑的正确性。 1、无单点故障 系统应不受任何单点故障的影响。

C#下消息中间件开发示例

C#下使用消息中间件ActiveMQ和https://www.360docs.net/doc/ee5870703.html,框架开发示例 1. 消息中间件简介 1.1 消息中间件定义 中间件(middleware)是基础软件的一大类,属于可复用的软件范畴。中间件在操作系统软件,网络和数据库之上,应用软件之下,总的作用是为处于自己上层的应用软件提供运行于开发的环境,帮助用户灵活、高效的开发和集成复杂的应用软件。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件定位于客户机服务器的操作系统之上,管理计算机资源和网络通信。 因而中间件是指一类软件,是基于分布式处理的软件,最突出的特点是其网络通信功能。也可认为中间件是位于平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,可以有符合接口和协议的多种实现。 中间件可分为六类: 1) 终端仿真/屏幕转换 2) 数据访问中间件(UDA) 3) 远程过程调用中间件(RPC) 4) 消息中间件(MOM) 5) 交易中间件(TPM) 6) 对象中间件 消息中间件是指利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。 消息中间件可以即支持同步方式,又支持异步方式。异步中间件比同步中间件具有更强的容错性,在系统故障时可以保证消息的正常传输。异步中间件技术又分为两类:广播方式和发布/订阅方式。由于发布/订阅方式可以指定哪种类型的用户可以接受哪种类型的消息,更加有针对性,事实上已成为异步中间件的非正式标准。 面向消息的中间件(Message Oriented Middleware,MOM),提供了以松散耦合的灵活方式集成应用程序的一种机制。它们提供了基于存储和转发的应用程序之间的异步数据发送,即应用程序彼此不直接通信,而是与作为中介的MOM通信。MOM提供了有保证的消息发送(至少是在尽可能地做到这一点),应用程序开发人员无需了解远程过程调用(PRC)和网络/通信协议的细节。 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

IBM与东方通通讯中间件竞争力对比分析

IBM与东方通中间件竞争力对比分析 Table of Contents 目录 1. IBM MQ与东方通TongLinkQ对比分析 (2) 2. IBM ESB与东方通TongIntegrator对比分析 (3) 3. IBM WAS与东方通TongWeb对比分析 (5)

1.IBM MQ与东方通TongLinkQ对比分析 TongLinkQ是东方通科技公司的一个通讯产品,它是从一个文件传输工具发展改进而来的,其产品化程度很低。经过仅几年的发展,该产品虽然增加了一些功能,但是从产品的成熟和稳定性上来看,仍然与MQ存在相当大的差距。因此,在做产品选型时有必要从以下几方面慎重考虑: 产品的成熟稳定性: TongLinkQ作为一个国产中间件产品,其本身的成熟性和稳定性根本无法和IBM的MQ产品相比,它无法支持生产环境长时间运行和大规模数据传输的考验,在系统传输数据量大或者系统运行压力大的情况下,TongLinkQ会出现死机,进程挂起等现象。在数据传输的可靠性方面,TongLinkQ无法保障数据传输的可靠性。在用户的实际系统中,TongLinkQ曾出现过丢失数据的现象。 产品本身的兼容性: TongLinkQ产品本身的研发没有一个统一的、向上延续的框架和技术路线,因此,其产品底层每一个版本代码实现都不一样,版本之间根本无法兼容,例如:其版本5和版本6根本无法互连互通;同时,每个版本对外提供的API编程接口都不一致,导致如果进行TongLinkQ产品的版本升级,就必须要重新开发基于它的应用程序,巨大的工作量导致客户根本无法进行版本升级。这是一个非常大的隐患。 系统的可扩展性: IBM的MQ可以支持35种平台,而TongLinkQ支持的平台种类有限,这势必给项目今后的升级改造等带来限制。例如:每当某种操作系统升级时,例如Windows 操作系统或者AIX操作系统升级时,TongLinkQ的响应速度都非常慢。再例如,当一些新的技术、新的标准出现时,TongLinkQ都不能及时提供支持,比如到目前为止,它仍然不提供对Web Service的支持,仍然不支持IP V6的通讯协议等。

RFID方案选型须循三大原则

RFID方案选型须循三大原则 作者:谭浩 2004-12-24 射频识别技术(RFID)可以说是近几年来在计算机领域出现的少有的若干革命性技术之一,它的应用包罗万象,被认为是近几年全球最热门的明星产业之一,有关专家预计2010年全球RFID市场将达到3000亿美元。通过射频信号用户可以自动识别目标对象,无需可见光源;它具有穿透性,可以透过外部材料直接读取数据,保护外部包装,节省开箱时间;而且利用这项技术能够同时处理多个射频标签,适用于批量识别场合;并且可以对RFID标签所附着的物体进行追踪定位,提供位置信息。因此,RFID技术在供应链管理上具有许多先天优势,成为许多供应链管理解决方案当中的一大亮点,那么RFID在供应链管理中具体是怎么应用的,用户选型应该注意些什么呢? RFID为什么在这么短的时间内成为人们关注的“焦点”和追逐的“明星”呢?它究竟有什么样的魔法,能在供应链管理领域如此“兴风作浪”? RFID为何成为“香饽饽”? 去年年初,全球的零售业巨头沃尔玛要求其供货商在2005年年初,为所有的商品提供RFID标签。那么什么是RFID,为什么会得到沃尔玛的青睐呢? 随着计算机技术的迅速发展,电子信息技术越来越快地普及到各行各业的应用中去,物流行业也不例外。传统的物流信息采集工作方式是通过工作人员将票物进行核对,然后将票上的数据输入到计算机中。这一过程费时费力,并且可能由于各种人为过失造成各种各样错误数据的存在,影响所采集信息的可靠性。而自动识别输入技术,使得物资编码和物资信息自动化传输得到了长足的发展。自动识别技术利用计算机进行自动识别,增加了输入的灵活性与准确性,使人们摆脱繁杂的统计识别工作,并且大大提高了物流信息采集的工作效率。 RFID技术是近年来兴起的一项新兴的自动识别技术。RFID利用射频方式进行非接触双向通信,从而实现对物体的识别,并将采集到的相关信息数据通过无线技术远程进行传输。相较目前广泛采用的条型码技

案例:主要软硬件选型原则和详细软硬件配置清单.docx

主要软硬件选型原则和详细软硬件配置清单 5.12.1软硬件选型原则 软件选型原则:开放性,对称性与非对称处理,异种机互联能力,目录及安全服务的支持能力,应用软件的支持能力,网管能力,性能优化和监视能力,系统备份/恢复支持能力。 硬件选型原则:系统的开放性,系统的延续性,系统可扩展性,系统的互连性能,应用软件的支持,系统的性价比,生产厂商的技术支持,可管理性(同事管理多处工作,消除问题,智能管理的方法),远程管理,状况跟踪,预故障处理,性能监控,安全管理,可用性,磁盘故障,内存问题,容错性(冗余组件、自动服务器恢复,冗余网卡,冗余CPU电源模块,双对等PCI总线)及平台支持 5.12.2软硬件配置清单 参考《附表》中的项目软硬件配置清单。 机房及配套工程建设方案 使用目前已经建设好并正在使用的机房,不需要重新建设。

3.4.2性能需求 3.4.1.交易响应时间 交易响应时间指完成目标系统中的交互或批量业务处理所需的响应时间。 根据业务处理类型的不同,可以把交易划分为三类:交互类业务、查询类业务和大数据量批处理类业务,分别给出响应时间要求的参考值,包括峰值响应时间、平均响应时间。 1、交互类业务 日常交易指传统的大厅交互业务,如申报、发票销售、税务登记等,具有较 高的响应要求。批量交易指一次完成多笔业务处理的交易,如批量扣缴等,由于批量交易的数据量不确定,需要根据具体的情况确定响应时间。 表 3-1 交易类业务复杂性与响应时间关系表 业务复杂性平均响应时间参考值平均响应时间峰值响应时间 ( 秒)参考值(秒)参考值(秒) -提交过程-交互过程 日常交易4-18 专网报税4-25 电话报税4-25 网上交易4-25 批量交易视提交数据量、业务处理量而定 备注:以上交易如果涉及与税务-国库-银行或税务-银行-国库交互的, 响应时间参考值中均包含交互的时间 2、查询类业务 如登记资料查询、申报表查询等。查询业务由于受到查询的复杂程度、查询的数据量大小等因素的影响,需要根据具体情况而定,在此给出一个参考范围。 如有特殊要求,可以在具体开发文档中单独给出响应时间要求。 表 3-2 查询类业务复杂性与响应时间关系表 平均响应时间 业务复杂性 参考值 ( 秒) 简单查询3-15 复杂查询15-120 备注:业务处理过程的交互操作的响应时间参见上面交互类业务的相关指 标。

中间件知识

中间件知识 1,常见应用系统开发构架: 传统的两层结构:表示层(Presentation Layer):用于处理人机交互。目前最主流的两种表示层是Windows桌面和IE浏览器方式。它主要责任是处理用户请求,例如鼠标点击、输入、HTTP请求等,实际部分业务逻辑。数据层(Data source Layer):处理数据库、消息系统、事务系统。实际部分业务逻辑。 经典的三层结构:表示层(Presentation Layer):用于处理人机交互。目前最主流的两种表示层是Windows桌面和IE浏览器方式。它主要的责任是处理用户请求,例如鼠标点击、输入、HTTP请求等。业务层(Business Layer):模拟了企业中的实际活动,也可以认为是企业活动的模型。数据层(Data source Layer):处理数据库、消息系统、事务系统。 通用的四层结构:表示层(Presentation Layer):用于处理人机交互。目前最主流的两种表示层是Windows桌面和IE浏览器方式。它主要的责任是处理用户请求,例如鼠标点击、输入、HTTP请求等。业务层(Business Layer):模拟了企业中的实际活动,也可以认为是企业活动的模型。数据层(Data source Layer):处理数据库、消息系统、事务系统。安全层(Security Layer):管理系统身份验证、授证、日志等。 主要产品:应用中间件、平台中间件、工作流中间件、数据传输中间件等。 2,什么是中间件 中间件(middleware):是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 IDC对中间件的定义,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。3,为什么要中间件 Internet及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。 4,中间件的主要作用 为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。 5,数据库中间件(DM,Database Middleware) 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个最典型的例子就是ODBC,ODBC是一种基于数据库的中间件标准,它允许应用程序和本地或者异地的数据库进行通信,并提供了一系列的应用程序接口API,当然,在多数情况下这些API都是隐藏在

平台架构师的工作职责

平台架构师的工作职责 平台架构师需要负责总体系统架构设计,进行技术可行性研究及技术选型,指导项目研发。下面是小编整理的平台架构师的工作职责。 平台架构师的工作职责1 职责: 1、负责公司平台功能架构设计,开发维护等工作,对公司平台的可用性、可扩展性、性能、响应速度及安全性进行设计; 2、负责系统及相关产品需求分析; 3、指导并参与编写系统公共代码; 4、负责领导软件技术攻关,负责制订相关的技术解决方案; 5、负责系统调优; 6、负责对软件开发团队的技术指导; 7、完成领导临时交办的其它工作。 任职资格:

1、成功主导搭建过互联网或企业级应用产品系统,具有平台型产品系统的架构设计能力; 2、深入了解数据库工作原理,熟练使用Oracle、Mysql、PG 等数据库,有一定数据库设计及优化能力; 3、对J2EE开发体系和B/S架构有深入的了解; 4、熟悉微服务架构,SpringCloud、docker、zookeeper、kafka; 5、熟悉大数据技术,ETL,图形化展示库; 6、对面向对象编程架构及软件工程有深入了解, 精通至少一种软件工程方法, 有较强的系统分析能力; 7、熟悉常用设计模式并能够应用于解决实际问题; 8、工作踏实,责任心强,具有良好的团队精神和敬业态度。 平台架构师的工作职责2 职责: 1、负责业务平台架构分析,整体架构设计:包括业务系统架构设计、业务流程设计与优化、确定项目中系统边界划分、子系统间接口设计与核心算法的设计与优化等; 2、负责系统的技术架构,能从系统的可用性,安全性,性能等方面提升项目的架构质量;

3、分析原有系统架构和不合理技术架构的架构给出切实可行的优化方案; 4、核心技术问题的攻关,线上问题的解决,项目重点、难点的技术攻坚,主导解决项目开发过程中的技术难题; 5、参与代码开发规范,技术标准的制定,负责编写相应的技术文档; 6、负责各种前沿开源技术的研究、选型,并对开发过程中的技术文档进行审核; 我们希望您具备如下条件: 1、本科及以上学历,计算机相关专业,至少8年以上工作经验(java方向); 2、有很强的业务抽象分析能力,熟悉面向对象的分析方法和数据库设计,熟悉UML等分析工具,深刻理解领域驱动设计; 3、精通J2EE体系结构,精通主流的Java开发框架如Spring Cloud,并有丰富的实践经验,掌握其基本原理; 4、对分布式系统架构有深刻的认识,并有高并发、高可用、高性能系统设计经验; 5、熟悉MySQL,memcached,redis,mongodb、ElasticSearch 等主流中间件,并对其中至少两项有很深入了解;

消息中间件原理与实现

消息中间件原理与实现 10748206桂勇哲 10748210 胡栋梁 10712059 穆斌 摘要: 现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,但由于采用RPC同步处理技术,在性能、健壮性、可扩展性上都存在着诸多缺点。而基于消息的异步处理模型采用非阻塞的调用特性,发送者将消息发送给消息服务器,消息服务器在合适的时候再将消息转发给接收者;发送和接收是异步的,发送者无需等待,二者的生命周期也可以不必相同,而且发送者可以将消息间接传给多个接收者,大大提高了程序的性能、可扩展性及健壮性,这使得异步处理模型在分布式应用上比起同步处理模型更具有吸引力。 本文首先介绍了消息中间件的原理,然后实现消息中间件的一些最重要的功能,并说明了实现方法,以及相应功能的应用,最后介绍消息中间件还可以添加哪些重要性质,以更好的进行消息服务,保证消息的一致异步有效的技术。 关键字:消息中间件,实现,点对点,发布/订阅,持久消息 一、中间件简介 1.1 中间件的定义 中间件(middleware)是基础软件的一大类,属于可复用的软件范畴。中间件在操作系统软件,网络和数据库之上,应用软件之下,总的作用是为处于自己上层的应用软件提供运行于开发的环境,帮助用户灵活、高效的开发和集成复杂的应用软件。 中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。 也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点: 满足大量应用的需要 运行于多种硬件和OS平台 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互 支持标准的协议 支持标准的接口

企业消息中间件技术规范

企业消息中间件技术规范

目录 1.消息中间件概述 (3) 1.1 支持的规范和技术 (3) 1.2 消息传输 (4) 1.3 应用管理 (8) 1.4 系统配置 (9) 1.5 安全与可靠性保障 (12)

1.消息中间件概述 消息中间件是一款标准、安全、高效、集成并具备丰富功能的医用级消息中间件,基于医用消息中间件,为省级人口健康信息平台、区域医疗数据中心、医院信息平台的建设提供了坚实的基础支撑。 消息中间件主要用于医疗领域在应用程序之间传递消息,使这些消息可以在不同的网络协议、不同的计算机系统和不同的应用软件之间传递。消息中间件通过内部的可靠队列传输机制,使数据可以快速、可靠地送达接送方,在传输期间能够应对网络故障、主机宕机等各种意外情况,做到断点续传,保证数据“一次传递、可靠达到”。 1.1 支持的规范和技术 ?支持国标消息中间件软件产品技术规范(GB/T 28168-2011); ?具备良好的跨平台能力,应用编程接口(API)支持各种运行平台,如HP-UX、IBM AIX、SUN SOLARIS、WINDOWS 、Digital UNIX、 SGI、TRU UNIX、Linux等,支持64位操作系统,并且在各平台上的 API接口一致; ?支持多种通讯链路和网络环境,如以太网、SDH、DDN、X.25、帧中继FR、拨号网络、卫星网络等,能根据网络环境对传输效率提供优化; ?支持树形拓扑结构和网状拓扑结构的网络环境; ?持多种网络协议,如TCP/IP、NETBIOS、SNA等; ?支持C、C++、C#、JAVA开发语言,提供动态库、OCX、JAVA三种API模式;支持PB、VB、VC、Delphi等开发工具。

消息中间件在数据交换中的应用研究及其面临的挑战

消息中间件在数据交换中的应用研究及其面临的挑战 摘要:简要介绍了消息中间件在数据交换数据交换中的应用,论述了消息中间件所面临的挑战及应对措施:传输消息大小不受限制;同时支持Windows 2000/nt/98/ME等多种操作系统,并能通过配置充分发挥不同操作系统的性能;实现消息队列操作的回滚与提交,使消息进行多级回执;以COM形式提供MQ Clinent API。关键词:数据交换消息中间件消息队列 COM 计算机技术的不断推陈出新,带来了信息化发展的新浪潮,人们感受到了计算机及网络技术所带来的好处,于是对电子化、信息化应用的需求也越来越迫切。信息技术以其强大的渗透力,深入到社会经济生活的各个方面。在商业金融等领域,电子数据交换作为一种新的商务手段正在被广泛使用。数据交换EDI(Electronic Data Interchange)是一种计算机应用技术,根据事先达成的协议,将信息按照一定的标准进行格式化处理,并把这些格式化的数据,通过计算机通信网络在其计算机系统之间进行交换和自动处理。作为计算机通信技术的一部分,EDI可以应用于制造业、运输业、零售业以及卫生保健和政府部门等各种经济部门之中。消息队列中间件MOM(Message-Oriented Middleware)是一种特定的中间件,它利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。1 数据交换的研究与应用现状1.1 国际发展现状及趋势西方发达国家已普遍采用EDI。据统计,1992年底世界上使用EDI的企业超过10万家,95年达到40万家。美国早在60年代初期,就在公路、铁路、海运和空运中应用EDI,而且每年还以100%的速度增长;西欧各国已将EDI应用于汽车、化工、电子、运输、保险、分销零售业中;日本已在销售、贸易、运输、和制造业中广泛使用EDI;新加坡声称95%的贸易用EDI实现。据悉,美国政府及欧洲共同体大部分国家的海关宣布,从1992年起,采用EDI方式办理海关业务,如不采用EDI方式,其手续将被推迟办理,或不再选为贸易伙伴。1996年,亚洲六个国家和地区(中国、日本、印度、马来西亚、菲律宾和中国台湾省)达成协议,将共同开发EDI系统,以便使这些国家和地区在进出口过程中能够实时地采集进出口数据,有效对客户进行管理,减少报关错误。这无疑会加快亚洲国家的EDI建设进程。在欧洲,一些大公司,包括超市连锁公司,已经开始对不开通EDI的供应商实行制裁措施(价格、处理时间、付款方式上实行歧视政策)。新加坡贸易发展局宣布:从1999年1月1日起,所有进出口贸易都必须用EDI方式申报。香港地区从2000年开始全面关闭进出口报关柜台,所有的进出口报关必须通过EDI方式。EDI的发展趋势:(1)应用EDI的行业会增多;(2)EDI 与其他信息传送技术和系统的一体化;(3)EDI技术将受Internet的冲击。1.2 国内发展现状我国也早已经开始重视和普及EDI技术,“八五”抓基础、抓试点;“九五”建立起中国贸易网(China Trade Network),尽快实现与国际贸易网的大联通,全面推行EDI。近几年来,国内方正、中软、启宏科技、南通等软件公司在数据交换平台方面都已经快速发展。方正数码公司2002年提出了面向信息资源整合的跨地域、跨部门应用技术框架,为横跨多个政府机构的服务、监管职能的业务实现和同一机构内多个部门不同业务系统之间的数据整合提供了进行有效转换和交流的安全信息交换平台——方正易畅InfoHub。方正易畅InfoHub安全信息交换平台在信息系统中为终端节点提供安全可靠的消息传输。它采用基于XML技术的消息结构进行信息的表达,存储及传输。而作为封装在消息结构中的消息内容可以是XML格式的信息,EDI格式的信息,或者是采用用户自己定义的格式的信息。由中软网络技术股份有限公司与河南省国家税务局联合开发出《行政管理与监控考核系统》填补了国家办公软件的空白。中软股份在此基础之上建立系统框架,并通过技术框架与功能框架完美结合,使功能不断扩充与完善,完成了《行政管理与监控考核系统》。该系统已经在驻马店市国税局得到了全面的推广与实施,为提升税务行业行政管理水平和质量做出了贡

中间件消息通信技术概要

中间件消息通信技术概要 一、中间件 中间件,就是介于应用系统与系统软件之间的一类软件,它使用系统软件所提供的基础功能,衔接于应用系统的不同部分,能够达到资源共享和功能共享的目的。 消息中间件,是中间件众多产品分类中一个重要部分。它能够适用于任何需要进行网络通信的系统,负责建立网络通信的通道,进行数据或文件发送。消息中间件的一个重要作用是可以实现跨平台操作,为不同操作系统上的应用软件集成提供服务。 二、几种通信技术的比较 1、CPI-C CPI-C是一种同步对话通信模式。参加通信的一方发起一次对话,同时控制信息流动。数据既可以由发送者传递到接受者,也可以反向流动。 参加通信的两个程序需要跟踪对话的状态,如果异常发生导致连接中断,则需要发送方重建并恢复这次通话。通信双方既可以处于主从地位,也可以处于对等地位。也就是说,CPI-C既支持客户端-服务器环境,也支持对等通信方式。 虽然CPI-C在一般情况下是一种同步通信类型,但是在一定环境中,如CIC S,可以通过“临时数据队列”实现一定程度的异步。 TCP/IP,SNA都支持CPI-C。 由于需要应用程序参与错误的检测与恢复,CPI-C的编程接口相当复杂。

2、RPC RPC,即远程过程调用,也是一种同步,对话方式的类型。一个调用程序向服务器提成申请,该调用被负责通信的转接器发往远端系统。调用者与被调用者关系是固定的,很难实现对等通信。 与CPI-C一样,通信错误需要应用程序自己维护。另外在申请服务得到响应之前,服务申请者被阻隔,这不仅是应用的瓶颈所在,更有可能遭受拒绝式服务攻击。 3、MQI(Message Queue Interface) 消息队列接口为程序提供了一种异步通信方式。一个程序以一个队列作为中转与另一个程序相互通信,这个队列向对于该程序而言既可以是本地,也可以是远程。当程序A与程序B进行通信时,A只需要将消息放入一条与B相通信的队列即可,至于消息何时,以何种协议,何种方式到达程序B与A没有关系。底层的通信细节被接口所覆盖,甚至通信错误的恢复也由队列管理器代劳了,应用程序自身感受不到通信的发生。 由于通信方式和使用的协议无关,因而可以使用各种标准协议,比如TCP/I P,SNA或者其他局域网协议。 当程序A向B发送消息的时候,程序B不需要处于运行状态,消息队列负责了消息的转达。而且一个程序可以通过不同的队列与多个程序进行通信。

RabbitMQ基本知识介绍

RabbitMQ基础概念详细介绍 引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。 消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。下面将重点介绍RabbitMQ中的一些基础概念,了解了这些概念,是使用好RabbitMQ的基础。 ConnectionFactory、Connection、Channel ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑。ConnectionFactory为Connection的制造工厂。 Channel是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等。 Queue Queue(队列)是RabbitMQ的内部对象,用于存储消息,用下图表示。

信息化选型分析报告V1.0

信息化选型分析报告 IT信息部:黄浩政 版本:V1.0

目录 一、名词解释: (3) (一) OA: (3) (二) ERP: (3) (三) 企业邮箱 (3) 二、公司背景分析: (3) 三、我司选型软件分析 (5) (一) OA (5) (二) ERP软件对比 (8) 四、实施服务建议 (10) 五、硬件辅助支持 (11)

一、名词解释: (一)OA: OA系统的英文全称是:Office Automation System ,意为办公自动化系统。简单来说就是利用计算机及公共网络来实现企业办公无纸化,将先进的管理思想、管理模式与网络及软件相结合,基于工作流的概念,试企业员工能方便快捷的共享信息、高效的协同工作,提高办公效率的一套工具。 (二)ERP: ERP的全称是:Enterprise Resource Planning,即企业资源计划,由美国GartnerGroup公司于1990年提出的。企业资源计划是MRPⅡ(企业制造资源计划)下一代的制造业系统和资源计划软件。广泛来说,我们平时所说的销售管理、采购管理、成本、财务、生产资源计划、制造、质量管理,实验室管理、业务流程管理、产品数据管理、存货、分销与运输管理、人力资源管理和定期报告系统都属于ERP的范畴。 (三)企业邮箱 企业邮箱是以企业自己的域名为结尾的信箱,企业邮箱作为企业内部办公以及同客户沟通的重要工具,在日常的企业经营管理和商务活动中发挥着越来越重要的作用,因此,无论大中小企业都需要企业邮箱这一沟通工具。目前我司已经有企业邮箱系统。 二、公司背景分析: 泛微:上海泛微网络科技股份有限公司成立于2001年,以企业信息化建设为己任,不仅致力于为用户提供专业、全面、量身订制的企业协同管理软件和应用解决方案,还积极倡导先进的经营管 理思想,引领企业数字化革命、提升核心竞争力! 泛微是业界领先的协同管理系统和解决方案供应商,凭借成熟的技术核心及雄厚的研发力量,基于先进的协同管理理念,自主研发了协同管理产品系列,包括泛微协同管理平台(e-cology)、泛微协同办公系统标准版(e-office)产品系列,涵盖OA(协同办公)、EIP(企业信息门户)、

中间件期末考试题

一.选择 1.开放系统互操作面临的异构型不包括:(D) A.不同的数据库系统 B.不同的开发工具 C.不同的操作系统 D.不同的软件开发企业 2.以下哪个模块不属于X OPen DTP模型的基本组成部分(C) A.应用程序(AP) B.资源管理器(RM) C.命名服务器(NS) D.事务管理器(TM) 3.下列属于消息访问中间件的是(C) A.SOAP (Web Service 中使用的通信服务协议) B.ORB(对象中间件) C.JMS(Java消息服务) D.ODBC(数据库访问中间件) 4.Web Service 中使用的通信服务协议是(B) A.GIOP(通用ORB互通协议) B.SOAP C.WSDL(服务说明语言) D.IIOP(互联网ORB互通协议) 5.在window平台中,COM进程内组建的文件格式一般是(D) B.exe(外) D.dll(内) 6.ORB通过使用(B )在网络环境中找到分布式对象 A.IP地址 B.IOR C.对象名称 D.GUID 7.windows平台下,COM组件发布时一般把组建相关信息写到(B) A.环境变量 B.注册表 C.同一个文件夹的配置文件 D.命名服务器 8.分布式事务的特征不包括(C) A.隔离性 B.原子性 C.传递性 D.持久性 9.CORBA平台一般使用(D)描述分布式对象的对外服务接口 A.WSDL B.HTML C.IOR D.IDL 10.在分布式对象访问的桩/框架结构中,负责替分布式对象完成底层通信相关工作的是(D) A.客户端桩 B.构建的接口 C.分布式对象自身 D.服务器端框架(Skeleton) 11.下列那种对象不支持分布式对象的实现(C) A.EJB B.CORBA C.JDBC D.DCOM 12.所有COM组件必须要实现的接口是(A) A.IUnknown B.IDispatch C.ClassFactory https://www.360docs.net/doc/ee5870703.html,omCoClass 13.J2EE中,(D)接口用于网络中定位组件和其他资源 A.JMS B.JDBC C.JTA D.JNDI 14.OMA组织定义ORB之间的互通协议为(A ) A.GIOP/IIOP B.HTTP C.TCP D.IP 15.下列属于数据库访问中间件的是(C) A.ORB B.DCOM

MQ介绍与选型

MQ介绍与选型 MQ使用场景 ?异步通信 有些业务不想也不需要立即处理消息。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们。 ?解耦 降低工程间的强依赖程度,针对异构系统进行适配。在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。通过消息系统在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口,当应用发生变化时,可以独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 ?冗余 有些情况下,处理数据的过程会失败。除非数据被持久化,否则将造成丢失。消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 ?扩展性 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可。不需要改变代码、不需要调节参数。便于分布式扩容。 ?过载保护

在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量无法提取预知;如果以为了能处理这类瞬间峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。 ?可恢复性 系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。 ?顺序保证 在大多使用场景下,数据处理的顺序都很重要。大部分消息队列本来就是排序的,并且能保证数据会按照特定的顺序来处理。 ?缓冲 在任何重要的系统中,都会有需要不同的处理时间的元素。消息队列通过一个缓冲层来帮助任务最高效率的执行,该缓冲有助于控制和优化数据流经过系统的速度。 以调节系统响应时间。 ?数据流处理 分布式系统产生的海量数据流,如:业务日志、监控数据、用户行为等,针对这些数据流进行实时或批量采集汇总,然后进行大数据分析是当前互联网的必备技术,通过消息队列完成此类数据收集是最好的选择。

技术架构选型方案报告

最高院执行项目 技术架构选型方案Fantasy 2011年8月25日

目录 总体架构!2整体系统描述 2架构选型!4 JDK选型(JDK1.6_22 32位) 4 IOC容器选型(Spring3.0.5.RELEASE) 5 ORM选型(MyBatis) 6 MVC选型(SpringMVC) 7认证和权限选型(shiro1.1 + ralasafe 1.1) 8前台组件选型 11案件导入导出架构设计!12总体架构设计 12客户端功能结构 13技术实现方式 14

总体架构 整体系统描述 系统架构图总揽 展示层 :主要面向B/S架构,展示层主要由web资源文件组成,包括JSP,JS 和大量的界面控件,同时还采用了AJAX和Flex等RIA技术,负责向用户展现丰富的界面信息,并执行用户的命令 控制层:负责展示层请求的转发、调度和基础验证,同时自动拦截后台返回 的Runtime异常信息。 领域层:是系统最为丰富的一层,主要负责处理整个系统的业务逻辑。这一 层包括业务服务和领域对象,同时负责系统的事务管理。其中业务服务可以提供本地调用和共享远程服务的功能。

数据访问控制层:数据访问层的目的很明确,主要作为提供数据持久化的功 能,包括数据的读取和写入,操作数据库的方法可以有两种方式ORM方式,ralasafe封装的方式。 公共基础设施层:可以包括Common通用模块,IOC模块,Logging日志模块, Exception异常模块和单元测试模块。

架构选型 1.JDK选型(JDK1.6_22 32位) JDK1.5、JDK1.6和JDK1.7选型 测试 1.增加5百万条String数据 测试 2.增加5百万数据到ArrayList中,并且插入时有额外的计算测试 3. HashMap 有5百万 keys, values. 每对key, value是通过并发线程计算 (这个测试主要测试计算和并发能力) 测试 4.把ArrayList长度位5百万的列表,插入1000个文件中,再从 1000个文件中读取放入到列表中。 (测试多核并发边缘) 从性能上看,JDK1.7 > JDK1.6 > JDK1.5

消息中间件及WebSphere MQ入门

消息中间件及WebSphere MQ入门 文档选项 打印本页 将此页作为电子邮件发送 级别:初级 娄丽军, 软件部售前工程师 2003 年 11 月 01 日 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 消息中间件概述 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的信息,对应用提供公共的信息交换机制是重要的。设计分布式应用的方法主要有:远程过程调用(PRC)--分布式计算环境(DCE)的基础标准成分之一;对象事务监控(OTM)--基于CORBA的面向对象工业标准与事务处理(TP)监控技术的组合;消息队列(MessageQueue)--构造分布式应用的松耦合方法。 (a) 分布计算环境/远程过程调用 (DCE/RPC) RPC是DCE的成分,是一个由开放软件基金会(OSF)发布的应用集成的软件标准。RPC模仿一个程序用函数引用来引用另一程序的传统程序设计方法,此引用是过程调用的形式,一旦被调用,程序的控制则转向被调用程序。 在RPC实现时,被调用过程可在本地或远地的另一系统中驻留并在执行。当被调用程序完成处理输入数据,结果放在过程调用的返回变量中返回到调用程序。RPC完成后程序控制则立即返回到调用程序。因此RPC模仿子程序的调用/返回结构,它仅提供了Client(调用程序)和Server(被调用过程)间的同步数据交换。 (b) 对象事务监控 (OTM) 基于CORBA的面向对象工业标准与事务处理(TP)监控技术的组合,在CORBA规范中定义了:使用面向对象技术和方法的体系结构;公共的Client/Server程序设计接口;多平台间传输和翻译数据的指导方针;开发分布式应用接口的语言(IDL)等,并为构造分布的Client/Server应用提供了广泛及一致的模式。 (c) 消息队列 (Message Queue) 消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合方法。消息队列的API调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读出而提供信息交换。消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络通讯。它在计算机系统中是一个关键软件,它能实现应用的

相关文档
最新文档