RabbitMQ——MQ 简介

RabbitMQ——MQ 简介

1、MQ 概述

什么是 MQ

MQ (Message Quene):译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。

消息队列就是数据结构中一种“先进先出”的数据结构,队列中存放的内容是message。

别名为消息中间件,多用于分布式系统之间的通信。

发送方称为生产者,接收方称为消费者

在这里插入图片描述

2、MQ 功能

MQ 功能

应用解耦:假设我们的应用中有多个服务,服务之间存在调用关系,服务A通过调用接口推送数据给B、C,如果后续D服务也需要推送数据,那么就需要修服务A的代码,加上推送给服务D推送数据的逻辑,显然服务A和其他服务严重耦合。如果我们使用MQ,服务A要推送的将数据写入消息队列,需要数据的时候自己从消息队列中订阅,而原服务不需要做任何修改,如果某个服务不再需要,取消对消息的订阅即可,就实现了服务A和其他服务的解耦。

异步提速:将一些无需即时返回且耗时的操作(非必要的业务逻辑)提取出来,进行异步处理,这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量,提升用户体验。而且使用MQ后,原服务可以接收到被调用服务执行异步处理成功的消息。

流量削峰:当电商网站做一些秒杀活动时,在0点左右会有个短暂的高峰期,一般流量是很大的。引入消息队列后,大量的请求会短期存在 MQ 里,后台系统再按照数据库能处理的并发量,从消息队列中慢慢拉取消,从而保证数据库不会被压垮。等高峰期一过,系统就会将MQ中积压的消息慢慢解决掉。这个短暂的高峰期积压是允许的所有的请求进入消息队列,再进入秒杀,超过一定的阈值,有的请求直接丢弃。

3、不同的MQ和特点

不同的MQ和特点

MQ 框架非常之多,比较流行的有 RabbitMQ、ActiveMQ、Kafka,以及阿里开源的 RocketMQ。

不同MQ的特点:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里顾—程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值