什么是RabbitMQ?
什么是RabbitMQ?
- 一、什么是RabbitMQ?
- 二、Rabbitmq 的使用场景?
- 三、RabbitMQ基本概念
- 四、RabbitMQ的工作模式
-
-
-
- 1. **简单队列模式(Simple Queue)**
- 2. **工作队列模式(Work Queue)**
- 3. **发布/订阅模式(Publish/Subscribe)**
- 4. **路由模式(Routing)**
- 5. **主题模式(Topics)**
- 6. **RPC模式(Remote Procedure Call)**
-
-
一、什么是RabbitMQ?
RabbitMQ是一个开源的消息代理(Message Broker)软件,实现了高级消息队列协议(AMQP)。它用于在分布式系统中存储、转发消息,支持异步通信,帮助解耦生产者和消费者,提高系统的可扩展性和可靠性。
二、Rabbitmq 的使用场景?
(1)服务间异步通信
(2)顺序消费
(3)定时任务
(4)请求削峰
三、RabbitMQ基本概念
Broker: 简单来说就是消息队列服务器实体
Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列
Queue: 消息队列载体,每个消息都会被投入到一个或多个队列
Binding: 绑定,它的作用就是把exchange和queue按照路由规则绑定起来
Routing Key: 路由关键字,exchange根据这个关键字进行消息投递
VHost: vhost 可以理解为虚拟 broker ,即 mini-RabbitMQ server。其内部 均含有独立的 queue、exchange 和 binding 等,但最最重要的是,其拥有独立的 权限系统,
可以做到 vhost 范围的用户控制。当然,从 RabbitMQ 的全局角度, vhost 可以作为不同权限隔离的手段(一个典型的例子就是不同的应用可以跑在不同 的 vhost 中)。
Producer: 消息生产者,就是投递消息的程序
Consumer: 消息消费者,就是接受消息的程序
Channel: 消息通道,在客户端的每个连接里,可建立多个channel,每个 channel代表一个会话任务
由Exchange、Queue、RoutingKey三个才能决定一个从Exchange到Queue的 唯一的线路。