AdSense

網頁

2022/11/16

RabbitMQ 在UI管理介面發送訊息

一般RabbitMQ的訊息發收都是由程式處理,或可直接透過RabbitMQ的UI管理介面來發收訊息。


本機安裝好RabbitMQ登入管理介面

範例環境:

  • RabbitMQ 3.11.3


建立Exchanges(交換器)

Exchange用來接收producer送來的訊息並轉發給queue。

登入後點選上方的[Exchanges]頁籤,在下方找到[Add a new exchange]點選展開;
[Name]欄位輸入exchange的名稱,這邊為"test-exchange-001";
[Type]維持預設的[direct],為exchange發送訊息的模式;
其餘保持預設點Add exchange完成新增。



新增的exchange會出現在上方的清單中。




建立Queue(佇列)

點選上方的[Queues]頁籤,在下方找到[Add a new queue]點選展開;
[Name]欄位輸入queue的名稱,這邊為"test-queue-001",其餘保持預設點選Add queue完成新增。



新增的queue會出現在上方的清單中。




建立Binding

Binding是指exchange與queue的聯繫關係。

回到[Exchange]頁面點在exchange清單中點選剛建立的"test-exchange-001"進入設定,在下方找到[Bindings]點選展開,可以看到目前沒任何queue建立binding。

在[Add binding form this exchange]標題下的選單選擇[to queue],後方欄位填入要bind的queue的名稱,填入剛建立的"test-queue-001";
[Routing key]為exchange決定訊息是否傳送到queue的規則名稱,這邊設為"routing-key-001",待會發送訊息時要指定此routing key名稱exchange才會將訊息發送到相符的queue。
點選Bind完成建立。



Binding建立好後即可看到目前的exchange "test-exchange-001"已經binding到"test-queue-001",routing key為"routing-key-001"。




發送訊息

在"test-exchange-001"的設定頁面下找到[Publish message]點選展開;
[Routing key]欄位填入"routing-key-001";
[Payload]欄位填入要傳送的訊息內容,這邊為"hello"。
點擊Publish message送出訊息。




接收訊息

在[Queues]頁面的queue清單的"test-queue-001"可看到[Messages]欄位的[Ready]為1表示有一條訊息,即剛剛由"test-exchange-001"送出的訊息。



進入"test-queue-001"設定頁面,在下方[Get message]展開點選Get Message(s)即可收到剛剛送出的訊息"hello"。




整體關係圖如下。




沒有留言:

AdSense