Exchange 類型 Exchange 分發(fā)消息時根據(jù)類型的不同分發(fā)策略有區(qū)別,目前共四種類型:direct、fanout、topic、headers 。headers 匹配 AMQP 消息的 header 而不是路由鍵,此外 headers 交換器和 direct 交換器完全一致,但性能差很多,目前幾乎用不到了,所以直接看另外三種類型:
1. Direct 鍵(routing key)分布: Direct:消息中的路由鍵(routing key)如果和 Binding 中的 binding key 一致,交換器就將消息發(fā)到對應的隊列中。它是完全匹配、單播的模式。
2. Fanout(廣播分發(fā)) Fanout:每個發(fā)到 fanout 類型交換器的消息都會分到所有綁定的隊列上去。很像子網(wǎng)廣播,每臺子網(wǎng)內(nèi)的主機都獲得了一份復制的消息。fanout 類型轉發(fā)消息是最快的。
3. topic 交換器(模式匹配) topic 交換器:topic 交換器通過模式匹配分配消息的路由鍵屬性,將路由鍵和某個模式進行匹配,此時隊列需要綁定到一個模式上。它將路由鍵和綁定鍵的字符串切分成單詞,這些單詞之間用點隔開。它同樣也會識別兩個通配符:符號“#”和符號“”。#匹配 0 個或多個單詞,匹配不多不少一個單詞。