消息中间件原理介绍

本文旨在对消息中间件的主要模块做简单介绍,消息中间件主要模块如下图:

 

155015_bMe2_248570.png

队列管理器

负责创建和删除队列并控制队列的属性,

由消息路由和排队模块、消息通道代理模块和系统管理模块组成。

消息路由和排队模块

负责消息传递的方向,算法如下

(1)通过消息队列接口接受消息;

(2)检查消息目的队列名中的队列管理器名是否是本地的。如果是,则将该消息放入对应队列名的本地应用队列中,然后转到(5)。否则,将该消息放入对应队列管理器名的传输队列中;

(3)消息通道代理模块负责将该消息传递给远程中间件系统的队管理器;

(4)远程中间件系统的队列管理器将该消息放入对应队列名的应用队列中;

(5)应用程序通过消息队列接口从应用队列中获取该消息。

消息通道代理(MCA)模块

负责消息的底层传递和网络通道的故障恢复。

前者使用底层网络协议(如TCP或UDP等),并采用握手方式来传送消息,即接收方的MCA收到消息后向发送方的MCA发应答消息进行确认;

后者通过对网络通道的探测来获得网络中发生的故障,并负责故障的恢复,即发送消息失败时,MCA暂时代为存储此消息。当网络连接再次建立后,MCA自动重发这条消息,无需应用程序干涉。

系统管理模块:管理和维护中间件系统,包括:

建立和删除队列通道;

生成和维护队列路由表;

查询通道的状态和处理;

处理各种异常情况;

日志所有重要事件。

转载于:https://my.oschina.net/u/248570/blog/903691

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值