1. 程式人生 > >RabbitMQ Exchange 模式

RabbitMQ Exchange 模式


任何傳送到Topic Exchange的訊息都會被轉發到所有關心RouteKey中指定話題的Queue上

1. 這種模式需要RouteKey,要提前繫結Exchange與Queue。

2. 如果Exchange沒有發現能夠與RouteKey匹配的Queue,則會拋棄此訊息。

3. 在進行繫結時,要提供一個該佇列關心的主題,如“#.log.#”表示該佇列關心所有涉及log的訊息(一個RouteKey為”MQ.log.error”的訊息會被轉發到該佇列)。

4. “#”表示0個或若干個關鍵字,“*”表示一個關鍵字。如“log.*”能與“log.warn”匹配,無法與“log.warn.timeout”匹配;但是“log.#”能與上述兩者匹配。

參考程式碼:


執行程式碼:


執行結果:


如果 queue、exchange、routingKey 已經進行過繫結,則第二次執行程式碼時只需要用到 exchange 和 routingKey


註釋掉佇列後檢視執行結果(2條訊息):


檢視繫結資訊: