1. 程式人生 > 實用技巧 >RabbitMQ 安裝與配置

RabbitMQ 安裝與配置

安裝及配置RabbitMQ

docker中安裝RabbitMq

  • 下載映象
docker pull rabbitmq:management
  • 建立容器
docker run -di --name=changgou_rabbitmq -p 5671:5617 -p 5672:5672 -p4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
解釋如下:
15672 (if management plugin is enabled.管理介面 )

15671 management監聽埠

5672, 5671 (AMQP 0-9-1 without and with TLS 訊息佇列協議是一個訊息協議)

4369 (epmd) epmd 代表 Erlang 埠對映守護程序

25672 (Erlang distribution)
  • 訪問後臺

瀏覽器中輸入地址

http://192.168.200.128:15672/
  • 設定容器開機自動啟動
docker update --restart=always 容器ID

使用者以及Virtual Hosts配置

使用者角色

RabbitMQ在安裝好後,可以訪問http://localhost:15672;其自帶了guest/guest 的使用者名稱和密碼;如果需要建立自定義使用者;那麼也可以登入管理介面後,如下操作:

角色說明:

1、超級管理員(administrator)可登陸管理控制檯,可檢視所有的資訊,並且可以對使用者,策略(policy)進行操作。

2、監控者(monitoring)可登陸管理控制檯,同時可以檢視rabbitmq節點的相關資訊(程序數,記憶體使用情況,磁碟使用情況等)

3、策略制定者(policymaker)可登陸管理控制檯, 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框標識的部分)。

4、普通管理者(management)僅可登陸管理控制檯,無法看到節點資訊,也無法對策略進行管理。

5、其他無法登陸管理控制檯,通常就是普通的生產者和消費者。

Virtual Hosts配置

RabbitMQ的許可權管理;在RabbitMQ中可以虛擬訊息伺服器Virtual Host,每個Virtual Hosts相當於一個相對獨立的RabbitMQ伺服器,每個VirtualHost之間是相互隔離的。exchange、queue、message不能互通。相當於mysql的db。Virtual Name一般以/開頭。

➡️ 建立Virtual Hosts

➡️ 設定Virtual Hosts許可權

新增佇列

持久化:如果選durable,則佇列訊息自動持久化到磁碟上,如果選transient,則不會持久化;

自動刪除:預設值no,如果yes,則在訊息佇列沒有使用的情況下,佇列自行刪除。

新增交換機

自動刪除:預設值no,如果是yes,則在將所有佇列與交換機取消繫結之後,交換機將自動刪除。

交換機型別:

  • ✔️ fanout:廣播型別

  • ✔️ direct:路由型別

  • ✔️ topic:萬用字元型別,基於訊息的路由鍵路由

  • ✔️ headers:萬用字元型別,基於訊息的header路由

內部交換器:預設值no,如果是yes,訊息無法直接傳送到該交換機,必須通過交換機的轉發才能到達次交換機。本交換機只能與交換機繫結。

佇列與交換機進行繫結