一般RabbitMQ的訊息發收都是由程式處理,或可直接透過RabbitMQ的UI管理介面來發收訊息。
範例環境:
- 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"。
整體關係圖如下。
沒有留言:
張貼留言