RabbitMQ 安裝及簡單使用(基於 docker|白小純版)

alalala發表於2019-11-25

Docker中安裝RabbitMQ

安裝RabbitMQ

首先,使用Docker安裝RabbitMQ

~ mkdir -p ~/data/rabbitmq

~ docker run -d --hostname rabbit-svr --name rabbit -p 5672:5672 -p 15672:15672 -p 25672:25672 -v /Users/{user}/data/rabbitmq:/var/lib/rabbitmq rabbitmq:management
  • -d 表示程式在後臺靜默執行;

  • --hostname 指定 RabbitMQ 的主機名稱;

  • --name 指定啟動的容器名稱;

  • -p 指定埠對映,此處 5672 埠用於程式訪問 RabbitMQ 的介面;15672 埠是用於 RabbitMQ 視覺化 UI 管理的暴露埠,可以通過在瀏覽器中輸入 localhost:15672 訪問 RabbitMQ 的管理控制檯,預設登陸賬號密碼是 guest,guest25672 埠用於 RabbitMQ 叢集各節點之間的通訊。

    RabbitMQ圖形化UI
  • -v 將本地目錄掛載到 Docker 容器中以實現資料持久化,用法:-v local_dir:docker_dir, 路徑使用絕對路徑

  • rabbitmq:management 指的是構建容器需要用到的映象以及標籤。

檢視執行狀態

~ docker ps|grep rabbit

d6a2bd41361d        rabbitmq:management   "docker-entrypoint.s…"   30 minutes ago      Up 30 minutes       4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp, 15671/tcp, 0.0.0.0:25672->25672/tcp   rabbit

容器執行狀況良好,構建成功。

簡單使用(多圖預警)

建立交換機(Exchange)

  1. 登入賬號進入管理皮膚,點選最上面 Tab 中的 Exchanges;

    截圖2019-11-25下午6.08.34
  2. 滾動到最下面,點選 Add a new exchange,選擇自己需要的配置;

    截圖2019-11-25下午6.10.37
  3. 點選 Add exchange ,新增交換器。

    截圖2019-11-25下午6.22.50

建立佇列(Queue)

  1. 點選點選最上面 Tab 中的 Queues;

  2. 點選 Add a new queue,一般佇列名字可以跟將要繫結的 Exchage 名稱一致;

    截圖2019-11-25下午6.38.43
  3. 點選 Add queue,新增佇列。

    截圖2019-11-25下午6.39.02
  4. 點選佇列列表的佇列名稱,檢視相應佇列詳情。

    截圖2019-11-25下午6.43.47

    詳情:

    截圖2019-11-25下午6.45.42

繫結交換器和佇列

  1. 點選 queues 頁面下的 Bindings;

    截圖2019-11-25下午6.53.59
    • From exchange 要繫結的交換器名稱;
    • Routing key 只有 Routing Keytest-test 的訊息才會被這個佇列接收。
  2. 點選 Bind

    截圖2019-11-25下午6.58.42

    可見繫結成功。

測試資訊的釋出和接收

  1. 回到 Exchanges 頁面,點選剛才新建的 test 進入詳情;

    截圖2019-11-25下午6.22.50

    點選test詳情頁面的 Publish message

    截圖2019-11-25下午7.06.52
  2. Routing key 出輸入 test_test, Payload處輸入測試內容:

    截圖2019-11-25下午7.09.33
  3. 點選 Publish message,可以看到訊息釋出成功;

    截圖2019-11-25下午7.12.34
  4. 接著回到檢視佇列 test 的詳情,進一步說明訊息已經在佇列 test 中了;

    截圖2019-11-25下午7.14.20
  5. 接著點選佇列 test 詳情中的 Get messages 消費佇列中的資訊;

    • Ack Mode 應答模式,值為 Nack message requeue true 時代表訊息消費完,重新壓回到佇列中;值為 Ack message requeue false 時,訊息消費完後,訊息會從佇列中移除掉。
    截圖2019-11-25下午7.23.34

    消費成功。

相關文章