RabbitMQ的工作模式和使用场景

RabbitMQ是一种基于AMQP协议的消息队列,常用于任务异步处理、应用解耦等场景。其五种基本模式包括:简单模式、工作模式(实现任务分配)、订阅模式(多消费者接收消息)、路由模式(按路由键匹配)和主题订阅模式(模糊匹配路由键)。这些模式在分布式系统中有着广泛应用,如错误处理、系统解耦、流量控制等。
摘要由CSDN通过智能技术生成

RabbitMQ工作模式
1.基本模型
在这里插入图片描述

image.png

2.RabbitMQ应用场景
MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。

开发中消息队列通常有如下应用场景:
1、任务异步处理。
将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。
2、应用程序解耦合
MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。

消息中间件的作用:
应用解耦
弹性伸缩
冗余存储
流量削峰
异步通信
数据同步
3.RabbitMQ五种基本模式

1.简单模式
在这里插入图片描述
一个生产者,一个消费者。生产者将消息放入队列。消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除。
应用场景: 发送邮件。

2.工作模式

在这里插入图片描述
一个生产者,多个消费者,每个消费者获取到的消息唯一。生产者将消息放入队列。多个消费者同时监听同一个队列。谁先拿到消息,谁来负责消费。
应用场景:一个服务多个实例,发布任务,其中一个执行就行。

3.订阅模式
在这里插入图片描述
一个生产者发送的消息会被多个消费者获取。生产者将消息交给交换机。交换机根据发布订阅的模式设定将消息同步到所有的绑定队列中。后端的消费者都能拿到消息。
应用场景:1.注册成功后,多个应用执行功能(通知用户,初始化积分等)。 2.广告。

4.路由模式
在这里插入图片描述
发送消息到交换机并且要指定路由key ,消费者将队列绑定到交换机时需要指定路由key。生产者发送消息到交换机,同时绑定一个路由Key。交换机根据路由key对下游绑定的队列进行路由key的判断,满足路由key的队列才会接收到消息,消费者消费消息。
应用场景:项目中的error报错。

5.主题订阅模式
在这里插入图片描述
将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“*”只匹配一个词。
与routing路由模式使用场景基本一致,进行模糊匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值