一种消息队列中间件的设计与实现

合集下载

中间件设计原则和方法

中间件设计原则和方法

中间件设计原则和方法中间件设计原则和方法概述中间件是一种常用的软件设计模式,用于在多层架构中增强系统的可扩展性、可维护性和可重用性。

本文将介绍中间件的设计原则和常用方法,以帮助开发人员更好地应用中间件模式。

设计原则中间件设计遵循以下几个原则:1. 单一职责原则中间件应专注于实现特定的功能,遵循单一职责原则。

每个中间件模块应该有清晰的定义和功能,并且不涉及其他职责。

2. 开闭原则中间件应该是开放可扩展的,对修改关闭。

通过接口和抽象类对外提供统一的调用方式,以便后续增加新的中间件模块时无需修改现有代码。

3. 接口隔离原则中间件应该根据接口隔离原则,只提供必要的接口,避免接口膨胀和多余的方法。

这样可以确保中间件的高内聚性和低耦合性。

4. 依赖倒置原则中间件应该依赖于抽象,而不是具体实现。

通过依赖倒置原则,可以减少中间件与其它模块之间的耦合,提高代码的灵活性。

常用方法中间件设计有多种常见的方法,下面列举几种常用的方法:1. 拦截过滤器模式拦截过滤器模式是一种常见的中间件设计方法,通过过滤器链来对请求进行处理。

每个过滤器负责处理某项功能,将请求传递给下一个过滤器进行处理,直到最后一个过滤器完成请求的处理。

2. 代理模式代理模式是另一种常见的中间件设计方法,通过代理对象来封装真实对象,并提供额外的功能。

代理对象可以在调用真实对象之前或之后进行一些预处理或后处理操作。

3. 装饰器模式装饰器模式也是一种常用的中间件设计方法,通过装饰器对象来包装原始对象,并动态地添加新的功能。

装饰器模式可以在不修改原始对象的情况下扩展其功能。

4. 发布订阅模式发布订阅模式是一种常用的中间件设计方法,通过定义事件和通知机制来实现模块之间的解耦。

订阅者可以订阅感兴趣的事件,而发布者可以发布事件并通知所有订阅者。

5. 消息队列模式消息队列模式是一种常见的中间件设计方法,通过在系统中引入消息队列来实现不同模块之间的异步通信。

模块可以将消息发送到队列中,并由消费者从队列中获取消息并进行处理。

基于消息中间件技术的分布式气象数据同步系统设计和实现

基于消息中间件技术的分布式气象数据同步系统设计和实现

基于消息中间件技术的分布式气象数据同步系统设计和实现鲍婷婷;陈鹏;李玉涛【摘要】本文针对新的资料传输流程建立后江苏省气象数据实时共享需求,基于消息中间件技术,设计并实现了一种省市气象数据同步系统.提出数据同步系统的总体架构和实现方案,基于业务需求设计了数据库表和消息模型,开发了数据同步状态信息查询Web页面.目前系统已在全省多个地市部署应用,为省市县3级气象业务提供稳定、及时有效的数据支撑,取得较好的应用效果.【期刊名称】《气象科技》【年(卷),期】2018(046)006【总页数】6页(P1124-1129)【关键词】消息中间件;气象数据;分布式;数据同步【作者】鲍婷婷;陈鹏;李玉涛【作者单位】江苏省气象信息中心,南京210008;江苏省气象信息中心,南京210008;江苏省气象信息中心,南京210008【正文语种】中文【中图分类】P409引言随着气象现代化建设,区域自动站、GPS水汽等多种气象观测数据可从设备端直发省级中心站,市县没有数据落地,须从省级获取数据。

市县级气象部门可采用2种方式获取数据:①从省级获取文件再处理,这一方式增加了处理流程,时效性不高;②直接访问省级数据接口,但是省级数据中心并发访问压力大,省级节点出现问题会影响全省使用。

新的资料传输流程建立后,市县2级业务部门如何快速有效地从省级获取数据成为亟需解决的问题。

近年来,国内气象部门在提升数据传输率和数据共享方面进行了很多有益的探索,华韵子等[1]通过基于数据超市理念的气象数据实时共享技术的研究,建成长三角气象数据实时共享平台。

薛峰等[2]为了改进精细化数据传输应用,在国家级NWFD和省级LWFD 2个数据库之间的城镇天气预报传输业务中应用消息队列,实现一种可靠、高效的业务数据传输服务。

马渝勇[3]针对四川省气象业务对气象信息管理与共享服务需求,利用消息中间件技术跨平台的通信能力,实现了开放式、面向多方面应用的气象信息共享服务系统。

消息队列简介-原理与应用

消息队列简介-原理与应用

消息队列简介-原理与应⽤⼀、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应⽤解耦,异步消息,流量削锋等问题,实现⾼性能,⾼可⽤,可伸缩和最终⼀致性架构。

⽬前使⽤较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ典型的:Kafka==》发布订阅系统参考:⼆、消息队列应⽤场景以下介绍消息队列在实际应⽤中常⽤的使⽤场景。

异步处理,应⽤解耦,流量削锋和消息通讯四个场景。

2.1异步处理场景说明:⽤户注册后,需要发注册邮件和注册短信。

传统的做法有两种 1.串⾏的⽅式;2.并⾏⽅式a、串⾏⽅式:将注册信息写⼊数据库成功后,发送注册邮件,再发送注册短信。

以上三个任务全部完成后,返回给客户端。

b、并⾏⽅式:将注册信息写⼊数据库成功后,发送注册邮件的同时,发送注册短信。

以上三个任务完成后,返回给客户端。

与串⾏的差别是,并⾏的⽅式可以提⾼处理的时间假设三个业务节点每个使⽤50毫秒钟,不考虑⽹络等其他开销,则串⾏⽅式的时间是150毫秒,并⾏的时间可能是100毫秒。

因为CPU在单位时间内处理的请求数是⼀定的,假设CPU1秒内吞吐量是100次。

则串⾏⽅式1秒内CPU可处理的请求量是7次(1000/150)。

并⾏⽅式处理的请求量是10次(1000/100)⼩结:如以上案例描述,传统的⽅式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。

如何解决这个问题呢?引⼊消息队列,将不是必须的业务逻辑,异步处理。

改造后的架构如下:按照以上约定,⽤户的响应时间相当于是注册信息写⼊数据库的时间,也就是50毫秒。

注册邮件,发送短信写⼊消息队列后,直接返回,因此写⼊消息队列的速度很快,基本可以忽略,因此⽤户的响应时间可能是50毫秒。

因此架构改变后,系统的吞吐量提⾼到每秒20 QPS。

⽐串⾏提⾼了3倍,⽐并⾏提⾼了两倍。

2.2应⽤解耦场景说明:⽤户下单后,订单系统需要通知库存系统。

软件工程中应用中间件技术的架构设计与优化

软件工程中应用中间件技术的架构设计与优化

软件工程中应用中间件技术的架构设计与优化在软件工程领域中,中间件技术扮演着至关重要的角色。

它可以帮助不同的软件组件之间进行通信和数据交换,提升系统性能和可靠性。

本文将深入探讨在软件工程中应用中间件技术的架构设计与优化。

首先,我们需要了解什么是中间件技术。

中间件是一种在分布式系统中起到中间连接代理的软件,它用于在应用程序和底层通信协议之间建立连接和传输数据。

中间件通常提供了更高级的抽象层,使开发人员能够更轻松地构建和管理复杂的分布式系统。

在软件工程中,中间件技术的应用可以带来许多好处。

首先,它可以提高系统的可伸缩性和性能。

通过使用中间件技术,我们可以将负载均衡和流量控制等功能集成到系统中,从而提升系统的吞吐量和响应时间。

其次,中间件技术可以帮助实现系统的解耦合。

在分布式系统中,不同的组件可能分布在不同的计算节点上,它们需要通过网络进行通信。

中间件技术可以屏蔽底层通信细节,使得不同的组件可以独立开发和部署,从而提高了系统的可维护性和可扩展性。

接下来,我们将讨论中间件技术在架构设计中的应用。

在设计分布式系统的架构时,中间件技术通常被用于实现各个组件之间的通信和数据交换。

例如,消息队列是一种常用的中间件技术,它可以实现异步通信和解耦合。

当一个组件需要发送消息给其他组件时,它只需要将消息发送到消息队列中,而不需要直接与接收方进行通信。

接收方从消息队列中接收消息并进行处理。

这种架构可以提高系统的可靠性和可扩展性,因为组件之间的通信不再是直接的同步方式。

此外,中间件技术还可以用于实现分布式缓存和分布式事务等功能。

分布式缓存可以将数据存储在多个节点上,从而提高系统的读取性能。

分布式事务可以协调多个节点之间的数据更新,确保数据的一致性和可靠性。

在优化中间件技术的应用方面,有几个关键的注意事项。

首先,需要根据系统的需求选择合适的中间件技术。

不同的中间件技术具有不同的特性和适用场景。

例如,如果系统需要实现高吞吐量和低延迟的通信,可以考虑使用消息队列。

一种用于分布式工作流系统的消息中间件

一种用于分布式工作流系统的消息中间件

在 复 杂 的应用 场 合 中 .通 讯 程序 之 间不 仅可 以是 通信 系统 的许多 功能都 没有 提供支持 .需 要编写 自己 对 一 的关 系 。 还可 以进 行一对 多 和多 对一 方式 , 至 的控 制程序 。 比如 超时处 理 ,Q 甚 S L就 不处理 它 , 要一 需
是 上述 多种 方式 的组 合 。多种 通讯 方式 的构 造并 没有 个程序 ( 或许 还要 与工作 流逻 辑的其 他部 分结 合 在一 增 加应 用程 序 的复杂性 。 起) 来定 期扫描 表 . 以发现 超过规 定时 间长度 的记 录并 ( ) 程 序与 网络复 杂性相 隔离 3 将 它们处 理为超 时消息 。 程 序 将 消息 放入 消 息 队列或 从 消息 队列 中取 出消 息来 进行 通讯 . 与此关联 的全 部活 动 , 比如 维护 消息 队 限于篇 幅 , 现摘 录相关 控制代码 片段如 下 :
Ⅱ o d re it h n P o e s r c r r e x ss t e r c s e o d Add e ty t a k n / d tn a l n r o Tr c i g Au i g t b e i
列 、 护程 序 和 队列 之 间的关 系 、 理 网络 的重新 启 动 维 处 和在 网络 中移 动 消息 等是 MO 的任务 ,程序 不 直接 M 与其 它程 序通话 . 并且 它们 不涉 及 网络 通讯 的复 杂性 。
消 息 中 间 件 可 以作 为构 造 分 布 式 系 统 应 用 的平 台 . 很 多 系 统 上 都 有 使 用 , 如 Wid W n O s平 台 上 的 MS MQ. N X平 台的 MQ eis U I S r 。有 很多 种 实现消息 中 e 间 件 的 方 法 ,如 微 软 公 司 提 供 的 Mi oot Q (' c sf r ?S Lr I M) S re 、 coo .E evrMi sf M T和 Mirsf 消息 队列 ( MQ 、 r t coot MS ) M coo i akT ) evr 在 J V irsfB z l(M S re . A A分 布 系统 的通 讯 t T

一种消息中间件的核心架构设计

一种消息中间件的核心架构设计
经过提炼和必要的隔离后以统一的层面形式呈现给应用 , 在异构环境 中实现 良好的协同工作_ 息中间件作 ? 、 肖 为一种通用性产 品在很多的领域得到了应用 , 前 国内有了一些成熟的消息中间件产品 , 目 例如金蝶 i T 消 MS 息 中间件 、 方通 TnLN Q、 东 o gIK/ 中创 消 息 中间件 Ifru / 黎 明 网络 iwt noB sQ, S ih等 . 文主要 介 绍 了一 种 简易 c 本 消息中间件的架构设计 , 以满足中小型业务通信集成和数据传递 的需要.
间件是 E IB I A /P 的一部分. 消息中间件和其他一些专业中间件如无线和移动中间件 、 嵌入式 中间件 、 b中 We 间件 、 ML中间件等相 比, 更广 泛 的应 用范 围。 X 有
2 设 计 方 案
2 .1 功能 目标
()支持 同一 主机上 不 同进程 间 、 同主机 的进 程之 间点 对 点 和订 阅 / 发这两 种 消息 传递 模式 , 提 1 不 分 并 供 异 步调 用方 式 ;2 ()提 供基 于优 先级 、 可靠 性 以及 策 略 管 理 和 分 发控 制 机 制 ;3 ()实 现 与 协 议 无关 的控
20 年 9 07 月
系统 由两大 模块组 成 :1消息 服务 器. () 它的主要 作用 是存 储 消息 和分发 消息 、 息 队列 管 理 、 消 消息类 型 、
消息频道管理 , 以及对外提供消息服务接 口. () 2 消息客户 端 ( ln) 用 于发送事 件消息 和接受 结果 / 消息 . Ci t e 群发

种消 息 中间件 的核 心架构设计
孙智博 ,杨 曦
70 7 ) 10 2
(. 1 中国铁通宁夏分公 司,宁夏 银川 7 00 ;2西北工业大学, 50 4 . 陕西 西安

Java中的消息中间件

Java中的消息中间件

Java中的消息中间件消息中间件是一种用于在分布式系统中实现异步通信的技术。

它提供了一种可靠性、可扩展性和松耦合的通信机制,能够加速系统之间的信息传递。

在Java开发中,消息中间件被广泛应用于各种场景,如实时数据分析、异步任务处理和系统解耦等。

本文将介绍Java中的消息中间件,并探讨其相关的特点和应用。

一、消息中间件的概念和特点消息中间件是一个位于应用程序和操作系统之间的软件层,用于实现分布式系统中的异步通信。

它基于生产者-消费者模型,其中生产者将消息发送到消息队列,消费者从队列中接收和处理消息。

消息中间件提供了一种解耦的通信方式,生产者和消费者之间无需直接交互,它们只需要关注自己的业务逻辑即可。

消息中间件具有以下几个重要特点:1. 异步通信:消息中间件采用异步通信模式,即生产者发送消息后不需要等待消费者的处理结果,而是立即返回。

这种无阻塞的通信方式可以提高系统的响应速度和吞吐量。

2. 可靠性:消息中间件保证消息的可靠传递。

它将消息持久化存储在磁盘上,并提供了事务支持和消息重传机制。

即使在系统出现故障或网络中断的情况下,消息也能够安全地传递和处理。

3. 可扩展性:消息中间件支持高并发和大规模分布式系统。

通过添加多个消息队列和消费者实例,可以实现系统的水平扩展,并提高系统的性能和吞吐量。

4. 松耦合:消息中间件解耦了生产者和消费者之间的依赖关系。

生产者只需要发送消息,而不需要关心消息的接收和处理。

同样,消费者只需要从队列中接收消息,而不需要关心消息的来源。

这种松耦合的通信方式有助于减少系统之间的依赖性,提高系统的可维护性和可扩展性。

二、在Java开发中,有多种消息中间件可供选择。

下面介绍几种常见的Java消息中间件:1. ActiveMQ:ActiveMQ是一个开源的、基于Java的消息中间件,它实现了JMS(Java Message Service)规范。

ActiveMQ提供了丰富的特性,如可靠性消息传递、事务支持、消息持久化和集群部署等。

利用中间件实现企业级应用集成(七)

利用中间件实现企业级应用集成(七)

中间件是当今企业级应用集成中的重要组成部分,其能够在不同的应用程序之间建立连接,促进数据的交换和通信。

本文将重点探讨如何利用中间件实现企业级应用集成,并分析其在提高效率和降低成本方面的优势。

一、介绍中间件的概念和作用中间件是一种软件工具,位于应用程序和操作系统之间,用于协调和管理应用程序之间的通信和交互。

它可以充当消息传递系统、数据传输系统以及协议转换器等角色,将不同的应用程序集成到一个统一的系统中。

二、提升效率和降低成本的优势1. 数据集成:中间件可以帮助企业将分散在不同应用程序中的数据进行集成,提供一种统一的数据访问接口。

这样一来,企业可以更加方便地进行数据分析和决策,提高运营效率。

2. 系统集成:中间件能够将不同的应用程序进行集成,实现系统之间的无缝连接。

这样一来,企业可以通过中间件实现各种业务流程的自动化,减少人工操作,提高工作效率。

3. 消息传递:中间件可以提供可靠的消息传递机制,确保消息的可靠传递和处理。

这对于需要大量消息传递的企业来说尤为重要,可以提高通信效率,减少传输错误。

4. 安全性保障:中间件可以提供强大的安全性保障机制,包括数据加密、身份验证和访问控制等功能。

这对于企业来说非常重要,可以保护企业数据的安全性和机密性。

三、常见的中间件技术1. 消息队列中间件:通过消息队列中间件,可以实现应用之间的异步通信和解耦。

企业可以利用消息队列中间件提供的消息传递机制,实现不同应用程序之间的数据交换和通信,提高系统的可靠性和扩展性。

2. 服务总线中间件:服务总线中间件可以将不同的应用程序集成到一个统一的服务总线上,实现应用之间的消息传递和通信。

企业可以通过服务总线中间件构建服务导向的体系结构,提高系统的可扩展性和灵活性。

3. 数据集成中间件:数据集成中间件可以将分散在不同系统之间的数据进行集成,提供一种统一的数据访问接口。

企业可以通过数据集成中间件实现数据的共享和协同,提高数据处理效率和决策准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Abstract The design and implementation of a new message queuing middleware is introduced.The size of message is unlimiteห้องสมุดไป่ตู้. It applied to Windows 2000/NT/98/ME. It makes message reture many times and provides MQ Clinent API with COM.
消息队列服务系统处理高并发服务是又一技术难点 服 务器由原来处理 5 个并发任务到 16 个并发任务 再到 2000 个并发任务 一直在不断地改进 使用异步 I/O 机制 处理 好进程与线程的正确关系是消息队列服务系统又一技术关键 所在
能以 COM 形式提供 MQ Client API 是目前消息队列服务 系统的需求 API 面对过程函数的组件接口在使用过程中会 带来一定的麻烦 使用 COM 面向对象的组件接口比使用 API 组件接口有很大的好处 可以减少定义函数 附加附件 制 定优先级等一系列繁琐的过程
MQ Client API 11 服务器输出队列支持实时并行发送
万方数据
4 结果对比
目前成熟的消息队列服务系统对每个消息队列的容量 所能容纳的字节数 都有限制 该值因系统不同而不同 有输出 redhat 8.0 的限制 或者是每个消息队列所能容纳的最 大消息数 在 redhad 8.0 中 该限制是受消息队列容量制约 的 消息个数要小于消息队列的容量 字节数
Key words Message oriented middleware; Message queuing; COM; Receipt
1 消息中间件现状分析和面临的一些问题
中间件能够屏蔽操作系统和网络协议的差异 为应用程 序提供多种通信机制 并提供相应的平台以满足不同领域的 需要 因此 中间件为应用程序提供了一个相对稳定的高层 应用环境
消息队列服务系统即把消息中间件技术应用于实践中的 一种位于平台(硬件和操作系统)和应用之间的服务程序
消息队列[1]是在多个不同的应用之间实现相互通信的一 种异步传输模式 相互通信的应用可以分布于同一台机器上
也可以分布于相连的网络空间中的任一位置 它的实现原理 是 消息的发送者把自己想要发送的信息放入一个容器中 称 为 Message 然后把它保存至一个系统公用空间的消息队列 中 本地或者是异地的消息接收程序再从该队列中取出发给 它的消息进行处理
MQ Client API
Application
Application
图 2 CNT MQ Service 体系结构
该系统在实现上达到以下技术功能与性能指标 1 支持消息队列产品的核心功能要求及服务原语
支持 2 支持重叠 I/O 和内存映像文件两种应有模式 同时
支持 Windows 2000/NT/98/ME 操作系统 并能通过配置充分 发挥不同操作系统的性能
3 最高传输效率应相当于网络线路速度 4 最大的出 入并发连接数应 1 000 个 5 逻辑上无消息体最大容量限制 使消息传输不用应 用层进行拆分与组合 6 同时支持同步和异步两种消息接收模式 7 消息到达队列时 能够实时通知客户端应用程序 8 每队列可以接受多个客户端同时进行访问 能够按 一定算法动态分配消息给客户端 9 支持事务处理 实现消息队列操作的回滚与提交 10 以 COM Component Object Model 形式提供
系统对消息队列的限制还有系统范围内的最大消息队列 个数 以及整个系统范围内的最大消息数 一般来说 实际 开 发 过 程 中 不 会 超 过 这 个 限 制 而 CNT(CSS Network Technology) MQ Service 解决了这一问题
如图 2 所示 该系统拟包括以下几个组成部分 队列管理器 负责管理服务器上所有的消息队列 包括 消息的出队 入队 分发到其它 MQ 服务器 服务响应组件 负责响应来自网络的队列操作请求 然 后将请求提交 Queue Manager 执行 队列客户端应用开发接口 MQ Client API 向应用程 序提供队列访问的接口 并将应用程序调用转化成服务请求 通过网络送往 Service Component 应用程序通过访问 MQ Client API 便可以实现消息的收发操作
多数流行的中间件用专有的 API 和专有的协议 使得应 用建立单一厂家产品 来自不同厂家的产品很难互操作 有 些中间件服务只提供一些平台的实现 从而限制了应用在异 构系统之间的移植 应用开发者在这些中间件服务上建立自 己的应用还要承担相当大的风险 随着技术的发展 他们往 往还需重写他们的系统 尽管中间件服务提高了分布计算的 抽象化程度 但应用开发者还需面临许多艰难的设计选择 例如 开发者还需决定分布应用在 client 方和 server 方的功 能分配 通常将表示服务放在 client 以方便使用显示设备 将数据服务放在 server 以靠近数据库 但也并非总是如此 何况其它应用功能如何分配也是不容易确定的
在消息队列服务系统中 消息传输的可靠性与消息的大 小受到一定的制约 目前 微软和 IBM 的消息中间件产品对 消息的大小和容量都有一定的限制 在本次开发中 使用拆 分和组装技术 实现了整个系统对所传输的消息大小和容量 不受限制
82
为了消息传输的可靠性能足够高 使用消息多级回执技 术 使消息可以回滚和反悔 当消息从队列中被提取的同时 使其暂存于缓存区中 此时即使断电 也可以保证消息的可 靠传输而不被延误和丢失
我们分析得出消息中间件需要解决以下问题 1 目前成熟的消息队列服务系统对每个消息队列的容
量 所能容纳的字节数 都有限制 2 适用的操作系统范围受到一定的限制 3 消息传递可靠性不高 4 面对函数的 API 接口对用户的使用受到了一定的
限制 5 消息队列服务系统的高并发处理能力
2 消息队列服务系统设计
Design and Implementation of a Message Queuing Middleware
WANG Xiaoxia1,2, CHEN Liang3 (1. College of Software, Hunan University, Changsha 410082; 2. Center of Network, National Institute, Chinese Academy of Social Sciences, Beijing 100081; 3. Department of Integrated Cause, China National Computer Software and Technology Service Corporation, Beijing 100081)
采用消息队列技术带来的好处是 由于是异步通信 无 论是发送方还是接收方都不用等待对方返回成功消息 就可 以执行余下的代码 因而大大提高了事物处理的能力 在信 息传送过程中 信息发送机制具有一定功能的故障恢复能力 消息传递机制使得消息通信的双方具有不同的物理平台成为 可能 消息队列分为用户创建队列和系统队列[4]
第 31 卷 第 21 期
Vol.31
21
软件技术与数据库
计算机工程 Computer Engineering
文章编号 1000 3428(2005)21 0081 03
文献标识码 A
2005 年 11 月 November 2005
中图分类号 TP311
一种消息队列中间件的设计与实现
王小霞 1,2 陈 亮 3 1 湖南大学软件学院 长沙 410082 2 社会科学院民族所网络信息中心 北京 100081 3 中软股份公司系统集成事业部 北京 100081
用户队列分为 1 公共队列 在整个可传递消息的"消息队列"网络
中复制并传输 并且有可能由网络连接的所有站点访问 2 专用队列 不在整个网络中发布 相反 它们仅
在所驻留的本地计算机上可用 专用队列只能由知道队列的 完整路径名或标签的应用程序访问
3 管理队列 包含确认在给定"消息队列"网络中发 送的消息回执的消息 指定希望 MessageQueue 组件使用的 管理队列
在消息传递机制中 有两个比较重要的概念 一个是消 息 一个是队列 消息是由通信双方所需要传递的信息 它 可以是各式各样的媒体 如文本 声音 图像等 消息最终 的理解方式 为消息传递的双方事先商定 这样做的好处是 一是相当于对数据进行了简单的加密 二采用自己定义的格 式可以节省通信的传递量 消息可以含有发送和接收者的标 识 这样只有指定的用户才能看到只传递给他的信息和返回 是否操作成功的回执 消息也可以含有时间戳 以便接收方 对某些与时间相关的应用进行处理 消息还可以含有到期时 间 它表明如果在指定时间内消息还未到达则此消息作废 这主要用于与时间性关联较为紧密的应用
操作所需的管理和通知消息的专用队列 消息队列和电子邮件有着很多相似处 它们都包含多个
属性 用于保存消息 消息类型中都指出发送者和接收者的 地址 然而它们的用处却有着很大的区别 消息队列的发送 者和接收者是应用程序 而电子邮件的发送者和接收者通常 是人 可以用图 1 来描述消息队列应用程序的体系结构
发送进程
4 响应队列 包含目标应用程序接收到消息时返回 给发送应用程序的响应消息 指定希望 MessageQueue 组件 使用的响应 队列
系统队列分为 1 日记队列 可选地存储发送消息的副本和从队列
中移除的消息副本 2 死信队列 存储无法传递或已过期的消息的副本 3 专用系统队列 是一系列存储系统执行消息处理
MSMQ 传出队列 公用队列
专用队列 系统队列
接收进程
图 1 消息队列应用程序简要结构
3 具有自主知识产权消息队列服务系统的实现
CNT(CSS Network Technology) MQ Service 是中软网络 技术股份公司开发的一种分布式消息队列服务系统 是一个 架构于 Windows 系统平台的消息队列服务系统 解决了目前 消息队列服务系统存在的缺陷和不足
相关文档
最新文档