【RabbitMQ】—— Exchange型別

楊小嘿發表於2017-07-31

        上篇部落格中瞭解到不同的佇列型別使用了不同型別的Exchange,本篇部落格介紹一下Exchange的三種型別。

Fanout Exchange 

        不處理路由鍵。你只需要簡單的將佇列繫結到交換機上。一個傳送到交換機的訊息都會被轉發到與該交換機繫結的所有佇列上。很像子網廣播,每臺子網內的主機都獲得了一份複製的訊息。Fanout交換機轉發訊息是最快的。 


 

Direct Exchange 

        處理路由鍵。需要將一個佇列繫結到交換機上,要求該訊息與一個特定的路由鍵完全匹配。這是一個完整的匹配。如果一個佇列繫結到該交換機上要求路由鍵“dog”,則只有被標記為“dog”的訊息才被轉發,不會轉發dog.puppy,也不會轉發dog.guard,只會轉發dog 


Topic Exchange 

        將路由鍵和某模式進行匹配。此時佇列需要繫結要一個模式上。符號“#”匹配一個或多個詞,符號“*”匹配一個詞。因此“audit.#”能夠匹配到“audit.irs.corporate”,但是“audit.*”只會匹配到“audit.irs”。我在RedHat的朋友做了一張不錯的圖,來表明topic交換機是如何工作的: 



相關文章