初识RabbitMQ

1.什么是MQ?

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

2.RabbitMQ

RabbitMQ是使用Erlang 语言开发的开源消息队列系统,基于AMQP协议 来实现。AMQP的主要特征是面向消息、队列、路由、可靠性、安全。AMQP协议更多应用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求排在其次。

RabbitMQ比Kafka可靠,Kafka更适合IO高吞吐的处理,一般应用在大数据日志处理或对实时性,可靠性要求稍低的场景使用,比如说大数据统计、日志收集等等。

3.AMQP协议

AMQP协议:是进行消息传递的一种协议,AMQP不从API层进行限定,而是直接定义网络交换的数据格式。

我们看到Virtual Host代表着虚拟主机,那么如果有多个项目都要使用RabbitMQ,它们之间的消息肯定不能混在一起,所以就靠着虚拟主机把它们分开,多个项目建立不同的虚拟主机。

相关推荐
带刺的坐椅13 分钟前
代码审查 Agent Harness 实战:AI 自动 Code Review
java·ai·llm·agent·solon·soloncode·harness
可儿·四系桜14 分钟前
经纬度转北斗网格位置码(非极地区域,编码篇)
java·物联网
唐青枫15 分钟前
Java ActiveMQ 实战指南:从 JMS 队列、主题到 Spring Boot 消息处理
java
码兄科技8 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
折哥的程序人生 · 物流技术专研9 小时前
第8篇:六大设计原则在工厂模式中的体现
java·设计模式·设计原则·工厂模式·编程进阶·扩充系列
小明bishe189 小时前
计算机毕业设计之基于JAVA的植物科普网站
java·spring boot·spring·架构·课程设计
r_oo_ki_e_9 小时前
Java Map 集合学习笔记
java·笔记·学习
SL-staff10 小时前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
咖啡八杯10 小时前
GoF设计模式——模板方法模式
java·后端·spring·设计模式