初识RabbitMQ

1.什么是MQ?

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

2.RabbitMQ

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

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

3.AMQP协议

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

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

相关推荐
likerhood1 天前
Java 中的 `clone()` 与 `Cloneable` 接口详解
java·开发语言·python
DavidSoCool1 天前
Springboot AI 创建MCP Server
java·spring·ai·大模型·springboot·mcp
前端技术1 天前
华为余承东:鸿蒙终端设备数突破5500万
java·前端·javascript·人工智能·python·华为·harmonyos
notfound40431 天前
解决SpringCloudGateway用户请求超时导致日志未记录情况
java·spring boot·spring·gateway·springcloud
Adellle1 天前
Java 异步回调
java·开发语言·多线程
SamDeepThinking1 天前
如何理解 Spring 当中的 Bean?
java·后端·面试
敖正炀1 天前
阻塞队列-0-3-最佳实践
java
kevinzeng1 天前
Java Stream 流式编程 10天系统学习计划
java
摇滚侠1 天前
Java 零基础全套视频教程,面向对象(进阶),笔记 90-103
java·开发语言·笔记
椰羊~王小美1 天前
C、Java、Go、Python 对比
java·c语言