消息中间件是一种在应用程序之间传递消息的软件组件,它为不同网络协议、不同计算机系统和不同应用软件之间的消息传递提供了支持。本规范详细描述了消息中间件的技术要求、消息传输机制、应用管理、系统配置以及安全与可靠性保障等方面的内容。
1. 消息中间件概述
消息中间件是医用级的,它支持多种网络协议和编程语言,适合构建如省级人口健康信息平台、区域医疗数据中心和医院信息平台等。其核心价值在于提供快速、可靠的消息传输,确保消息在各种异常情况下都能稳定传递,如网络故障或主机宕机等。消息中间件通常内置了可靠的队列传输机制,支持断点续传功能,确保数据的可靠到达。
2. 支持的规范和技术
消息中间件遵循国家标准GB/T28168-2011。具备良好的跨平台能力,能够在多种操作系统和运行平台上运行,如UNIX、Windows、Linux等,且API接口保持一致,以支持不同的开发环境。它支持多种网络环境,包括以太网、SDH、DDN等,并能够根据不同的网络环境优化传输效率。在拓扑结构上,它支持树形和网状网络环境。消息中间件同样支持TCP/IP、NETBIOS、SNA等多种网络协议,并能兼容多种开发语言如C、C++、C#、Java等,并为PB、VB、VC、Delphi等开发工具提供支持。
3. 消息传输
消息中间件基于队列与消息传递技术,可提供同步或异步消息传输服务。消息由消息头和消息体组成,其中消息头包含了如消息类型、唯一标识、发送时间、目的地、优先级、有效期、大小等属性信息。消息体则包含消息内容或传输的数据。
消息中间件支持数据包和文件两种类型的消息,并可以处理大数据包和大文件的传输,传输的数据长度不小于2G。它支持自动分组传输和自动重组功能。消息中间件提供了同步通讯、异步通讯及通知等多种通讯机制,确保即使在网络不连通的情况下,也能保证数据不丢失和应用程序无故障运行。
消息中间件还支持点对点(P2P)和发布/订阅两种通信方式。P2P通信方式适合一对一或一对多的消息传递,而发布/订阅通信方式则允许消息的分发和接收按照特定主题或内容进行,这有助于降低发送者和接收者之间的耦合度。消息队列作为消息存储的安全场所,支持同步或异步方式实现的分布式应用,确保应用程序能够独立地执行,无需知道对方的位置或等待消息接收。
4. 应用管理
应用管理主要关注如何有效地创建和管理消息队列,以及如何配置消息中间件以满足应用程序的需求。这包括根据消息用途和目的地创建不同类型的队列,以及管理队列的属性,如优先级、大小限制和生存时间等。
5. 系统配置
系统配置关注的是如何设置和优化消息中间件以适应特定的网络和硬件环境。这包括配置网络参数、设置内存和磁盘资源使用、调整消息传输的优先级和可靠性参数等。
6. 安全与可靠性保障
在安全方面,消息中间件需要实现用户认证和授权机制,保证只有授权用户才能访问中间件的资源。还需要对传输数据进行加密,以防止数据在传输过程中被截获或篡改。可靠性方面,消息中间件必须提供故障转移和负载均衡机制以保证服务的高可用性。此外,还需提供日志记录和监控功能,以帮助系统管理员快速定位和解决故障。
总结而言,企业消息中间件技术规范定义了消息中间件产品的基本框架、技术要求和功能标准,以满足现代企业级应用对于消息交换的高效、稳定、安全的要求。通过详细阐述消息的组成、传输机制、应用管理、系统配置以及安全可靠性保障等方面的知识点,为开发人员和系统管理员提供了可靠的消息中间件使用和部署指南。