消息队列
什么是消息队列
消息队列是一种消息中间件的实现方法。
什么是消息中间件?
需要了解什么是消息中间件吗?
消息
消息是指软件对象之间进行交互和通信利用的方式。
中间件
百度百科介绍:
有人认为,“中间件”(Middleware )是操作系统和APP应用程序之间的软件,应该是操作系统的一部分。
这个我不太清楚,我来说明一下我的理解,什么是中间件:
首先,中间件正如其名,是介于两者之间的技术:
为了更好地理解中间件技术,我有这样的构想概念。 图:
信息:这是一个抽象个体,其可以表示软件、计算机、系统等。
联系:进行通信、交互等抽象
中间件是一种用于存储或管理信息与信息之间联系的技术,这就是中间件技术。
根据其应用,中间件可分为以下几种
一种是用于支持单个APP应用程序系统或解决单个问题的基础中间件,包括事务中间件(TPM )、APP应用程序服务器、消息中间件(MOM )和数据访问中间件
另一种是顶级中间件,用于更多的系统集成,包括企业APP应用程序集成中间件、工作流中间件和门户中间件。 他们通常与多个APP应用程序系统交互,在系统中具有较高的层次,并且通常基于前者的基本中间件。
总结:消息中间件是一种存储和管理软件与软件交互的技术,也可以看作是一个容器。
深入理解###消息队列:
消息队列是一种消息中间件的实现方法
以下是消息队列分发服务的模式。
消息队列的分发模式共有两种形式。
点对点(PTP )
也就是说,一个生产者和一个消费者一对一对应
点对点模型的特点:
1、每条新闻只有一个消费者
2 )没有时间依赖寄件人和收件人
3、收件人确认消息接受和处理成功
发行-订阅(Pub/Sub )。
在发布/订阅模型(即,一个生产者)生成并发送消息之后,多个消费者可以进入其中
接受行。
发行-订阅模式的特点:
1、每个子消息可以有多个消费者
2 )客户必须订阅后才能收到消息(只有建立订阅关系后才能收到消息)。
3 .永久订阅和非永久订阅
永久订阅
订阅关系建立后(关系存储在消息中间件中),无论消费者(即订阅者)是否在线消息都不会消失。
非永久订阅
建立了一个类似于长连接关系表达式的订阅模型,订阅者始终保持连接状态以接收邮件,如果断开连接,邮件将会丢失。
消息队列分类:
推送(推送消息模型) )。
消息生产者将消息发送到消息中间件,消息中间件将消息推送给消费者。
拉式消息模型)。
消费者请求消息中间件接收消息,消费者从消息中间件中提取消息。
特点:
现在使用较多的消息队列是ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等。
使用消息队列的示例:
1、用户注册
2、日志采集分析
3 .数据复制
4 .延迟信息的发送和临时保存
5、信息广播