消息中间件概念

消息队列是消息中间件的一种实现,用于软件间的通信。它分为点对点和发布-订阅两种模式。消息队列如ActiveMQ、RabbitMQ等常用于用户注册、日志收集、数据复制等场景。
摘要由CSDN通过智能技术生成

f35baf7c59f94f2f94896963538abae0.jpg什么是消息队列

 

 

消息队列是消息中间件的一种实现方式。

 

什么是消息中间件?

 

将消息中间件需要理解一下什么是消息和中间件?

 

消息

消息是指软件对象之间进行交互作用和通讯利用的一种方式。

 

 

 

 

 

中间件

百度百科的介绍:

 

​ 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。

 

这介绍的我的不是很明白,下面我就讲解一下我的理解,什么是中间件:

 

首先,中间件 顾名思义 介于两者之间的一个技术:

 

 

 

 

 

 

 

​ 为了更好的理解中间件技术,我有了这样的一个设想的概念,如图:

 

 

 

 

 

​ 信息:这是一个抽象的个体,可以代表一个软件、计算机、或者一个系统等等。

联系:则是进行通信、相互操作等等的抽象

 

​ 中间件则是将 信息与信息之间的联系践行一种存储或者管理的技术,这就是中间件技术。

 

​ 根据其应用的不同,中间件分为:

 

​ 一类是底层中间件,用于支撑单个应用系统或解决一类问题,包括交易中间件(TPM)、应用服务器、消息中间件(MOM)、数据访问中间件(UDA),远程调用中间件(RPC)等等;

 

​ 另一类是高层中间件,更多的用于系统整合,包括企业应用集成中间件、工作流中间件、门户中间件等,他们通常会与多个应用系统打交道,在系统中层次较高,并大多基于前一类的底层中间件运行。

 

总结:消息中间件则是将软件与软件之间的交互方式进行存储和管理的一种技术,也可以看做是一种容器。

 

### 深入理解消息队列:

 

消息队列,是消息中间件的一种实现方式

 

 

 

 

 

下面是消息队列传递服务的模型:

 

 

 

 

 

消息队列的传递模型一共有两中形式:

 

点对点(PTP)

即一个生产者和一个消费者一一对应;

 

 

 

 

点对点模型的特点:

 

1,每个消息只有一个消费者

 

2,发送者和接受者没有时间依赖

 

3,接受者确认消息接受和处理成功

 

 

 

 

 

发布-订阅(Pub/Sub)

发布/ 订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进

 

行接收。

 

 

 

 

 

发布-订阅模型特点:

 

1,每个次消息可以有多个消费者

 

2,客户只有订阅后才能接收消息(只有建立订阅关系才可以接收消息 )

 

3,持久订阅和非持久订阅

 

持久订阅

订阅关系建立后(关系保存在消息中间件中),不管消费者(也就是订阅者)是否在线消息都不会消失。

 

非持久订阅

建立一种类似长连接关系式的订阅模式,订阅者为了接收消息必须保持一直连接的状态,如果断开连接则丢失消息。

 

 

 

 

 

消息队列的分类:

 

push(推消息模型)

消息生产者将消息发送给消息中间件,消息中间件又将消息推送给消费者。

 

pull(拉消息模型)

消费者请求 消息中间件接收消息,消费者从消息中间件拉取消息。

 

特点:

 

 

 

 

 

目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等 。

 

消息队列的应用案例:

 

1,用户注册

 

 

 

 

 

2,日志收集分析

 

 

 

 

 

3,数据复制

 

 

 

 

 

4,延迟消息发送和暂存

 

 

 

 

 

5,消息广播

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值