rabbitmq中有多種不同的消息類型,可以通過不同的方式把消息發送給想要傳達的對象,但具體這些是怎麼來實現的,我們一起來看下:
1,fanout-exchange模式,也叫廣播模式,顧名思義,就是把消息像廣播一樣傳送出去;
如上圖,我們把 bpmtest.exchange.workOrder這個exchange綁定到了3個不通的隊列queue,然後我們通過這個exchange去發送消息時,消息會同時被所有的queue接收到,
簡而言之,fanout模式就是把exahange收到的消息同時發送到所有與他綁定的消息隊列中去,可以理解爲1個人發,多個人接收
2,topic-exchange模式,也叫通配符模式,
就是發送到exchange中的消息會通過rountingkey被分配到與exchange綁定的符合rountingkey規則的消息隊列中去;
3,direct-exchange模式,或者說直連模式,點對點發消息,特點是他的rountingkey是寫死的,生產者和消費者的必須完全一致,不能有通配符,適合簡單的消息模式
4,headers-exchange模式,
- headers類型的Exchange不依賴於routing key與binding key的匹配規則來路由消息,而是根據發送的消息內容中的headers屬性進行匹配。