rabbitmq之topic

topic exchange:能夠route message 基於多個標準(相互獨立的多重意義/標準),每個標準以dot分隔,匹配是合併式,全部滿足纔算匹配成功。

比如message發佈時的routingkey是quick.orange.rabbit (注意中間的dot),bindingkey是*.orange.rabbit 或者*.orange.*或者*.*.rabbit等等都是算匹配成功的

爲方便匹配,topic exchange bindingkey支持兩個特殊字符:

* start:代表任一一個單詞

# hash代表任0個或者多個單詞

例子:

比如message的routingkey的格式是速度.顏色.動物名稱三個合併要匹配的routingkey,message發送以lazy.orange.rabbit爲routingkey,則bindingkey爲*.orange.rabbit 匹配。

topic exchange可以轉換成fanout exchange和direct exchange:

1. 把topic exchange的bindingkey設爲hash#字符(0個或者多個字符都匹配成功)時,等同於fanout exchange。

2. 如果bindingkey裏面不出現上面兩個特殊字符*和#,則等同於direct exchange

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章