GB T 28168-2011 信息技术中间件消息中间件技术规范.pdf
《GB T 28168-2011 信息技术中间件消息中间件技术规范.pdf》由会员分享,可在线阅读,更多相关《GB T 28168-2011 信息技术中间件消息中间件技术规范.pdf(24页珍藏版)》请在麦多课文档分享上搜索。
1、道昌ICS 35.060 L 74 共和国国家标准中华人民GB/T 28168-2011 消息中间件技术规范中间件信息技术Information technology-Specification for message-oriented middleware 2012-06-01实施2011-12-30发布发布中华人民共和国国家质量监督检验检菇总局中国国家标准化管理委员会起制制嚣份叫Ehu内V-J-ibif 响wm川叩归。ldw川WF肌cf插GB/T 28168-2011 目次前言.皿1 范围-2 规范性引用文件3 术语和定义、缩略语3. 1 术语和定义-3.2 缩略语4 消息中间件的架构和组
2、成4. 1 消息中间件架构4.2 服务子系统-4. 3 监控管理子系统4.4 应用开发子系统5 功能要求.5. 1 综述.5.2 服务子系统属性.5.3 监控与管理.10 5.4 应用开发子系统6 消息中间件的部署模式及拓扑结构6. 1 部署模式.6.2 拓扑结构.12 7 质量特性属性.12 7.1 易用性.12 7.2 可靠性.7.3 效率.13 7.4 可维护性.7.5 可移植性.14 8 支持的运行环境.14 8.1 硬件体系结构.14 8.2 操作系统.14 8.3 网络通信协议.14 8.4 Java运行环境 u 附录A(资料性附录)消息中间件产品示例I GB/T 28168-20
3、11 剧吕本标准按照GB/T1. 1-2009给出的规则起草。请注意本文件的某些内容可能涉及专利,本文件的发布机构不承担识别这些专利的责任。本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本标准起草单位:东方通科技发展有限责任公司、中国电子技术标准化研究所、北京航空航天大学、中国科学院软件研究所、金蝶中间件有限公司、中创软件商用中间件股份有限公司、北京中和威软件有限公司、北京赛迪时代信息产业股份有限公司。本标准主要起草人:马新群、任宇、李海波、陈志峰、朱律琦、宁凯、张红艳。皿GB/T 28168-2011 信息技术中间件消息中间件技术规范1 范围本标准规定了消息中间件的架构
4、及组成、功能要求、质量特性要求及支持的运行环境等。本标准适用于消息中间件软件的开发和应用。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 11457-2006 信息技术软件工程术语Java消息服务规范v1. 1 (J ava Message Service Specification, v 1. 1) 3 术语和定义、缩暗语3. 1 术语和定义GB/T 11457-2006中界定的以及下列术语和定义适用于本文件。3. 1. 1 应用application 应用
5、程序通过调用开发接口,在运行过程中使用中间件系统提供功能和服务的各种程序。3.1.2 消息message 不同的应用程序(进程或线程)之间传递或交换的信息。注=消息的格式及内容,由该消息的提供者及接收者协商而定。3. 1. 3 消息的发送者message sender 产生消息的应用程序。3. 1.4 消息的接收者m四sagereceiver 接收消息的应用程序。3. 1.5 队列queue 存储消息的缓冲区实体。注:队列由消息索引区和数据存储区组成。3.1.6 消息中间件系统message-oriented middleware system 存在于物理机器上的一套消息中间件软件运行系统,包
6、含一组程序和应用开发接口CAPD。1 G/T 28168-2011 3. 1. 7 消息优先级message priority 根据消息的紧急程度,为消息设置的等级。消息可以有不同的优先级。在消息的发送中,高优先级的消息可以得到优先处理。3. 1.8 单消息single message 消息中间件中传输的一条单一消息。3. 1. 9 组消息group message 消息中间件中传输的一系列带有先后顺序的消息的组合。注:组消息由多个单消息组合而成,在处理时相当于一个消息。组消息中的单个消息,称为子消息。3. 1. 10 Java消息服务Java Message Ser叫ce;JMS使用基于点到
7、点或者发布f订阅的交互方式,遵从J2EE技术规范并实现异步消息传输的消息服务系统。3. 1. 11 消息有效期ex:piry of message 产生消息时,应用设定的消息属性,表示消息可在队列中存放的最长时间。3. 1. 12 消息生存期Iifecycle of m臼皿ge消息从进入队列到该消息被接收者取出或被删除的时间段。3. 1. 13 死信dead letter 进入队列但不能完成传递过程的消息。注:如目的队列不存在的消息或有效期时间到的消息等a3. 1. 14 事件event 消息中间件系统在消息的传递过程中产生的动作。注:事件可由用户通过配置来定义。由事件触发产生的消息,称为事件
8、消息。3. 1. 15 集群cluster 若干消息中间件系统组建为一个群组,对外提供消息的发送、接收和处理功能,宜具备负载均衡和防止单点失效的功能。3. 1. 16 主题topic 一种向多个消息订阅者分发消息的机制。发布者根据指定的主题名发布消息,订阅者通过主题订阅消息。注:主题使得订阅者和发布者保持互相独立,不需要接触即可保证消息的传送。3.2 缩略语2 API TCPjIP HTTP 应用编程接口(ApplicationProgramming Interface) 传输控制协议/因特网协议(TransferControl Protocol/lnternet Protocol) 超文本传
9、输协议(HypertextTransfer Protocol) JDK Java EE J2EE SSL Java开发工具包(Java Development Kit) Java 企业版(JavaEnterprise Edition) Java 2企业版(Java2 Enterprise Edition) 安全套接层(SecureSockets Layer) 4 消息中间件的架构和组成4. 1 消息中间件架构G/T 28168-2011 消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。消息中间件一般由服务子系统、监控管理子系统、应用开发
10、子系统三部分组成(参见附录A)。其架构如图l所示:服务子系统图1消息中间件架构消息中间件的组成功能如下za) 服务子系统是消息中间件的核心运行实体,提供消息传输、存储等功能;b) 监控管理子系统是消息中间件的用户操作人口,提供对服务子系统监控、管理的功能;c) 应用开发子系统是消息中间件提供给用户进行应用程序开发的接口库。4.2 服务子系统服务子系统由图2所示各功能模块组成z核心进程管理应用消息事件事务队列日志安全程序管理管理管理管理管理管理管理网络传输圄2消息中间件的服务子系统4.2. 1 核心进程管理负责对整个系统的运行情况进行监控,报告、诊断和排除各种错误。它能够及时掌握各核心进程的运行
11、情况,当某个进程出现问题时,可以及时监测到并进行修复或报警。3 GB/T 28168-2011 4.2.2 网络传输消息中间件应提供在异构计算机系统间的数据传输,且这种传输是实时和可靠的。参与消息传递的消息中间件节点,可以是位于同一计算机系统中的节点,也可以是位于不同计算机系统中的节点。消息中间件应能屏蔽计算机硬件和物理网络的差别,使得节点间逻辑关系的建立与硬件和网络元关。4.2.3 应用程序管理消息中间件应提供对应用程序的灵活管理,包括启动、停止、监控和管理,并提供如下应用程序的启动方式:a) 随系统启动而触发;b) 应根据用户设定的规则,如当队列中的消息积存到一定阔值时,启动应用程序去接收
12、消息,以避免和减少在队列中没有消息时,应用进行消息获取的元效操作,保证应用及时准确地获得消息,提高应用处理的能力;c) 定时启动。4.2.4 消息管理消息中间件的服务子系统应对队列中的消息进行管理,在消息进入队列、网络发送、网络接收、从队列中接收的过程中,能够对消息的有效期进行检测,自动丢弃有效期到期的消息。消息进入队列后,出现故障造成无法传递时,该消息将被丢弃或处置,消息将结束其生存期。4.2.5 事件管理消息中间件应能根据用户定义的事件,适时产生事件消息,并允许用户通过调用应用接口进行查看和接收,及时了解系统运行中消息发送、接收的情况。4.2.6 事务管理消息中间件应提供消息的事务管理。多
13、个消息发送和接收可包含在一个事务里,系统保证一个事务中的所有消息发送和消息接收的操作同时成功,或同时失败。失败的消息接收操作会将消息回退到队列中,等待下次的处理。4.2.7 队到管理队列是消息的载体,消息中间件应提供对队列的静态和动态的配置、创建、更新和删除F允许用户根据需要,在应用运行过程中,调用应用开发接口来创建临时队列,使用完毕后,清除该队列。4.2.8 日志管理为便于用户对系统运行状态的了解和问题的定位,应提供完整的日志功能,通过日志可以查看系统的运行情况,并可以排除系统中出现的错误。日志记录级别及日志文件的大小都可以根据用户需求灵活配置,用户进行系统调试时,日志级别可以设置得较高,以
14、详细记录系统传输的信息,当系统稳定运行后,日志级别可以相应调低,以减少日志记录对资源的占用。4.2.9 安全管理消息中间件宜提供安全管理功能。安全管理包括消息中间件的节点间身份认证、传递消息的网络4 GB/T 28168-2011 连接认证、消息传输的加密等。消息中间件可提供可定制的安全功能实现,来满足应用特定的安全要求。可提供消息层、传输层、网络层的安全实现。4.3 监控管理子系统监控管理子系统是实现对消息中间件及相关应用进行配置、监控、启动、停止及管理的模块。管理工具应对系统对象进行动态管理和控制,以达到对系统运行规模进行调控、节省系统资源、提高效率的目的。宜提供集中监控和管理功能,通过一
15、个统一入口,对所有消息中间件节点进行监控和管理。4.4 应用开发子系统应用开发子系统是供开发人员进行基于消息中间件开发应用系统的编程接口。开发人员利用应用开发子系统,能够完成消息的传递和系统的维护管理。应用开发子系统应提供对多种计算机语言、开发工具和开发环境的支持,以方便应用的开发和部署。a) 提供C、C#、c+和Java语言的应用开发接口;b) 提供符合Java消息传输规范(JMS)的Java语言开发接口;c) 提供可供可视化开发工具使用的Win32应用开发接口。5 功能要求5. 1 综述本章从服务子系统、监控与管理、应用开发子系统3个方面,对消息中间件的功能要求进行了规定。5.2 服务子系
16、统属性5.2. 1 消息组成及属性5. 2. 1. 1 消息组成消息应由消息头和消息体组成。消息头中定义了消息的属性信息,包含消息类型、消息唯一标识、消息目的地、消息优先级、消息有效期、消息大小、用户自定义属性等信息;消息体中包含消息内容或消息所传输文件的名称。通过消息属性,可以获得消息的相关信息,也可以来控制消息。5.2. 1. 2 消息类型按照消息体的存储方式,应分为缓冲区消息和文件消息,缓冲区消息中存储缓冲区的内容,文件消息中存储文件的名称。5.2. 1. 3 消息唯一标识消息标识,可由应用设定,如果应用没有设定,应由消息中间件自动产生。消息的标识应保证消息在全网内的唯一性。5.2. 1
17、. 4 消息目的地发送消息时,应可以指定该消息的目的地。目的地可以是当前中间件系统节点,也可以是当前中间件系统相邻的节点,还可以是和当前节点不相邻的节点。5 GB/T 28168-2011 5.2. 1. 5 消息目标队到发送消息时需要指定的目标队列。5.2. 1. 6 消息优先级应提供根据消息的紧急程度,为所发送的消息设置优先级的功能。一般情况下,高优先级的消息具有更多的发送机会。5.2.1.7 消息有效期应提供消息有效期控制的机制,丢弃或处置过期消息,释放占用的系统资源,保证整个系统的运行效率。有效期控制机制应不受发送方、接收方时钟不一致的影响。5.2. 1. 8 消息大小消息中间件通过该
18、属性,获知消息的大小或设定发送消息的尺寸。5.2. 1.9 消息的自定义属性消息中间件应提供消息自定义属性的功能,允许用户根据业务的需要和属性规则设定自定义属性信息。接收消息时,自定义属性可用于过滤消息,来接收和应用指定的自定义属性及属性值相匹配的消息。5.2.2 消息分组消息中间件应提供消息分组功能。组消息在消息中间件中,是作为一个整体来处理的。消息组中的消息是按照先后顺序进行发送和接收的。5.2.3 消息的持久性按照消息的持久性,消息中间件系统应提供对持久性消息和非持久性消息的支持。当系统发生故障时,非持久性消息被丢弃;持久性消息进行保存,并在系统重新启动后恢复。系统正常运行时,在消息的有
19、效期内,系统保证持久性和非持久性消息不会丢失。5.2.4 消息的传输控制5.2.4. 1 消息传输的唯一性消息进入队列后,消息中间件负责传输。在目标节点可达的情况下,应保证消息能送达目的地,且该消息的传输是不重复的。5.2.4.2 多种消息的传输方式消息中间件系统应提供点到点、路由转发和发布/订阅等多种消息传输方式。5.2.4.2. 1 点到点消息传输点到点消息传输是指需要进行消息传输的两方直接建立传输通道,进行消息传输的方式,如图36 GB/T 28168-2011 所示:图3点到点消息传输5.2.4.2.2 路由转发消息传输路由转发消息传输是指消息中间件支持在不相邻的系统间传输消息的方式,
20、如图4所示:图4路由转发消息传输两个不相邻的消息中间件间宜支持多条路由互为备份。当正在使用的路由发生故障时,可以自动切换到备份路由上,保证消息的正常连续传输。5.2.4.2.3 发布/订阅消息传输发布/订阅消息传输方式是指通过发布/订阅代理,为应用提供了一种透明的信息发布和信息消费的框架,如图5所示:消息的发布者只负责发布信息的收集,并通过一个公共主题来表示这个消息,消息的订阅者通过公共主题来订阅需要的消息,当有订阅主题的消息发布时,消息自动发送给订阅者。a) 订阅和发布可以实现一对多、多对一和多对多的消息传递方式;b) 订阅者可以根据自己的需要订阅某些主题,然后在适当的时间从该主题上接收已经
21、发布的消息。订阅者和发布者可以分布在一个消息中间件系统上,也可以分别分布在不同的系统上,分布在不同系统上的发布者和订阅者通过发布订阅代理间的网络进行消息传输。图5发布/订阅消息传输5.2.4.3 断点结传功能消息中间件系统应提供断点续传功能。消息在传输过程中,不论是系统停止、硬件断电、硬件异常、非正常关机还是网络意外中断等情况,消息都应仍保留在消息队列中,要保证消息没有丢失、内容完整,保证顺序,系统恢复后,消息将从传输失败点继续发送,而不是整个消息重新发送。7 GB/T 28168-2011 5.2.5 连接管理消息中间件应提供根据用户的需要,适时地建立网络连接通路的功能。当网络链路发生故障后
22、,能够自动重建连接。5.2.5. 1 常连接在消息中间件间以预连接的方式建立传输通道,以减少因频繁建立/拆除连接所引起的系统开销和网络开销,并通过定时发送检测包来检测其通断情况。5.2.5.2 按需连接在系统间有数据需要传输时,以实时建立连接的方式来建立传输通道,完成传输后自动关闭连接,以此来节约系统占用的网络资源。按需连接在有数据传输请求的情况下建立,没有数据要求传输时断开。5.2.5.3 多连接两个消息中间件系统间宜实现多条连接。用户可以通过配置来变更连接的数量,每条连接是同等的。5.2.6 事件管理系统应提供事件管理功能,使得用户能够通过配置来定义事件以便跟踪消息的传输情况,如消息是否已
23、经传输完成等。当用户定义的事件发生时,系统应自动产生事件消息,并按事件的配置对事件消息进行处理。事件功能也可以用来了解系统运行中出现的各种故障,以便进行及时处理。系统宜支持对消息人队列、消息网络发送飞消息网络接收飞消息出队列等活动中的事件定义,如,在消息网络发送活动中,可定义开始网络发送、结束网络发送等事件,来实现对消息传输的精确管理。5.2.7 性能管理5.2.7. 1 网络流量控制消息中间件宜提供流量控制功能。网络质量较高的系统,可以调大流量控制配置,以充分的利用网络带宽;网络质量较差的系统,可以相应调小流量控制配置,以减少对网络的传输压力。5.2.7.2 自适应网络通信链路消息中间件宜实
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 28168 2011 信息技术 中间件 消息 技术规范
