-
RabbitMQ
- 是一个开源的AMQP(Advanced Message Queuing Protocol高级消息队列协议)实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.Net、Java、C,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不错,与Spring AMQP完美整合、API丰富易用
-
核心概念

-
Broker
- RabbitMQ的服务端程序,可以认为一个mq节点就是一个broker
-
Producer生产者
- 创建消息Message,然后发布到RabbitMQ中
-
Consumer消费者
- 消费队列里面的消息
-
Message消息
- 生产消费的内容,有消息头和消息体,也包括多个属性配置,比如routingKey路由键
-
Queue队列
- 是RabbitMQ的内部对象,用于存储信息,消息都只能存储在队列中
-
Channel信道
- 一条支持多路复用的通道,独立的双向数据流通道,可以发布、订阅、接收消息
- 信道是建立在真实的TCP连接内的虚拟连接,复用TCP连接的通道
-
Connection连接
- 是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑,一个连接上可以有多个channel进行通信
-
Exchange交换器
- 生产者将消息发送到Exchange,交换器将消息路由到一个或者多个队列中,里面有多个类型,后续再一一介绍,队列和交换机是多对多的关系
-
RoutingKey路由键
- 生产者将消息发给交换器的时候,一般会指定一个RoutingKey,用来指定这个消息的路由规则
- 最大长度255字节
-
Binding绑定
- 通过绑定将交换器与队列关联起来,在绑定的时候一般会指定一个绑定键(BindingKey),这样RabbitMQ就知道如何正确的将消息路由到队列了
- 生产者将消息发送给交换器时,需要一个RoutingKey,当BindingKey和RoutingKey相匹配时,消息会被路由到对应的队列中
-
VirtualHost虚拟主机
- 用于不同业务模块的逻辑隔离,一个VirtualHost里面可以有若干个Exchange和Queue,同一个VirtualHost里面不能有相同名称的Exchange或Queue
- 默认是/,可以创建/dev、/test
-
RabbitMQ简介及其核心概念
水宝的滚动歌词2024-01-31 18:26
相关推荐
imDwAaY7 天前
消息队列四大核心问题:顺序性、幂等性、可靠性与一致性手握风云-7 天前
一条消息的旅程:RabbitMQ 学习与实践(五)szephyr9 天前
消息队列入门:RabbitMQ 和 Kafka 到底怎么选,什么时候不该用Msshu1239 天前
什么是PD快充诱骗取电芯片,PD快充取电芯片如何选型程序员黎剑9 天前
RabbitMQ-消息可靠性-publisher-confirm持久化与手动ack吃饱了得干活9 天前
一个订单的奇幻漂流:RabbitMQ 五大难题实战雨会停rain10 天前
rabbitmq 创建独立管理员账号,禁用默认 adminxbgRS10 天前
RabbitMQ高级特性吃饱了得干活11 天前
RabbitMQ 原理解析(下):存储、集群与可靠投递辰辉创聚12 天前
禽流感病毒分子基础:表面抗原与内部转录复合体的功能解析