什么是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的 唯一的線路。