RabbitMQ主題模式(Topic)跟路由模式類似,區別在於主題模式的路由匹配支持通配符模糊匹配,而路由模式僅支持完全匹配。
說明:
1、P 代表生產者 , X 代表交換機,紅色Q1、Q2代表隊列,C1、C2 代表消費者。
2、交換機類型為topic
3、topic交換機轉發消息邏輯:將消息中的Routing key與該Exchange關聯的所有Binding中的Routing key進行 模糊匹配 ,如果匹配,則發送到綁定的Queue中。
topic支持的通配符如下:
如上圖:
隊列Q1綁定的routing key = *.orange.*
隊列Q2綁定的routing key = *.*.rabbit 和 lazy.#
如果消息的routing key = “quick.orange.rabbit”, 則匹配Q1和Q2兩個隊列。
跟路由模式壹樣,區別就是訂閱條件更靈活,即Routing key的匹配規則更靈活。