花门楼前见秋草,岂能贫贱相看老。这篇文章主要讲述#yyds干货盘点# 「MQ」五分钟带你了解什么是消息队列?相关的知识,希望能为你提供帮助。
MQ消息队列(一)相关视频教程(来自动力节点):https://www.bilibili.com/video/BV1Ap4y1D7tU
相关资料下载:http://www.bjpowernode.com/?51cto
一、什么是消息队列
消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。
消息队列主要解决了应用耦合、异步处理、流量削锋等问题。
当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、mysql以及phxsql也可实现消息队列的功能。
消息队列包括两种模式,点对点模式(point to point, queue)和发布/订阅模式(publish/subscribe,topic)。
二、消息队列两种模式
1.点对点模式点对点模式下包括三个角色:
【#yyds干货盘点# 「MQ」五分钟带你了解什么是消息队列()】消息队列、发送者 (生产者)、接收者(消费者)
消息发送者生产消息发送到queue中,然后消息接收者从queue中取出并且消费消息。消息被消费以后,queue中不再有存储,所以消息接收者不可能消费到已经被消费的消息。
1)点对点模式特点
每个消息只有一个接收者(Consumer)(即一旦被消费,消息就不再在消息队列中);
发送者和接收者间没有依赖性,发送者发送消息之后,不管有没有接收者在运行,都不会影响到发送者下次发送消息;
接收者在成功接收消息之后需向队列应答成功,以便消息队列删除当前接收的消息;
2.发布/订阅模式发布/订阅模式下包括三个角色:
角色主题(Topic)、发布者(Publisher)、订阅者(Subscriber)
发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。
1)发布/订阅模式特点
每个消息可以有多个订阅者;
发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。
为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行;
推荐阅读
- 如何快速建立一个podman环境
- JavaScript错误处理try..catch...finally,涵盖throw,TypeError,RangeError#yyds干货盘点#
- #yyds干货盘点#Spring源码三千问Spring动态代理(什么时候使用的 cglib,什么时候使用的是 jdk proxy())
- 重重封锁,让你一条数据都拿不到《死磕MySQL系列 十三》
- #私藏项目实操分享#Python模拟登录,selenium模块,Python识别图形验证码实现自动登录
- #yyds干货盘点# 硬核!!教你如何通过脚本自动部署虚拟机并安装操作系统
- #yyds干货盘点#读配置讲原理看面试真题,我只能帮你到这了。。。
- 开源app 控制ESP8266,通过mqtt,app inventor开发
- Flutter 专题47 图解新的状态管理 Provider#yyds干货盘点#