【Rabbit MQ】Rabbit MQ 介绍

🔥 博客主页**🔥** :【 坊钰_CSDN博客

欢迎各位点赞**👍** 评论**✍收藏⭐**

1. 什么是MQ

MQ(Message Queue),字面意思,是个消息队列,用来存储消息,消息有很多种,如文本字符串,JSON字符串,或者一些复杂的内嵌对象

MQ 是用于分布式系统之间的通信,系统间的通信有两种方式

1.1 同步通信

调用相应接口,数据直接由一端到另一端

1.2 异步通信

数据传输过程中,不直接到达对应端,先进入一个临时的存储空间中,满足条件时,由这个存储空间发向另一端

RabbitMQ 就是这样,是MQ的一种实现方式

2. MQ的作用

MQ 主要作用就是接受并转发消息,不同场景下有不同的作用

2.1 异步解耦

在业务场景中,一些操作可能耗时很长,这是就把这种操作,放在MQ中进行,执行完后自动返回,不必等待这些操作完成,这样业务就正常进行,实现了异步的解耦操作

2.2 流量削峰

在访问量巨大时,服务器压力较大,这时大量消息来临,为了不使关键组件奔溃,用MQ可以来控制流量,将请求排队,逐步处理

2.3消息分发

当一个消息完成后,需要向多个部分发送信息,用MQ来组织信息分步,顺序的发送

2.4 延迟通知

当消息需要延迟发送时,用MQ中的延迟队列来进行操作

3 Rabbit MQ 的优点

市面上的MQ的主流的三款产品

3.1 Kafka

Kafka 的主要用于日志的收集与传输,优点是高吞吐量,性能好,如果日志的收集或采用,优先使用Kafka

3.2 Rocket MQ

Rocket MQ 用Java语言开发,借鉴的Kafka,并进行了自己改进,很适用于大型的场景,但是支持的客户端语言不多,社区活跃较差

3.3 Rabbit MQ

有Erlang语言开发,MQ功能较为完善,支持几乎所有主流语言,吞吐量很高,社区活跃也高,而且管理页面页友好,适合新手使用

4. 小结

以上就是对Rabbit MQ 介绍,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持

相关推荐
都叫我大帅哥2 小时前
从Python到Java:为什么企业级Agent最终会选择Java?
java·ai编程
wanderist.2 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
腻害兔3 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:IM 即时通讯模块,一个被低估的「全功能聊天系统」
java·前端·vue.js·产品经理·ai编程
心念枕惊4 小时前
.NET CORE 授权进阶-角色、策略与动态权限实现
java·前端·.netcore
余—笙4 小时前
Docker安装rabbitmq并安装延迟队列插件
docker·容器·rabbitmq
景同学5 小时前
把 AI 用到线上运维:可行、有效,前提是喂足信息——一次 Full GC 排障实录
java·人工智能·后端
C++、Java和Python的菜鸟6 小时前
第7章 后端Web实战(Tlias系统)
java
憧憬成为java架构高手的小白6 小时前
黑马八股--spring框架学习
java·学习·spring
唐青枫6 小时前
Java Picocli 实战详解:用注解写出好用的命令行工具
java
X-⃢_⃢-X7 小时前
四、OpenFeign远程调用
java·微服务·springboot·springcloud