消息中間件之一:RabbitMQ

RabbitMQ 是一個實現了AMQP(高級消息隊列協議)的消息隊列,最初起源於金融系統,主要用來實現應用程序間的異步解耦,可用於在分佈式系統中作消息的存儲轉發異步

相比於傳統的隊列服務概念(消息發送者、隊列、消息接收者),RabbitMQ在發送者和隊列以前增長了一個抽象層——交換器。消息發送者發消息給交換器,交換器根據調度策略把消息發送給隊列(交換器和隊列之間有綁定關係),這樣發消息者和隊列就沒有直接關係,實現了兩者之間的解耦分佈式

注:此圖來源於網上spa

 

交換機和隊列之間的調度策略有以下四種:blog

1)Direct Exchange:交換機默認的一種模式,是經過key全文匹配找到合適的隊列而後把消息投送隊列

2)Topic Exchange:經過通配符匹配路由

3)Headers Exchange:經過自定義的匹配規則匹配,即當消息的header屬性中包含的鍵值對和exchange自定義的匹配時進行消息投送消息隊列

4)Fanout Exchange:消息廣播模式,此時配置的路由key會被忽略it

注:Exchange自己不會進行消息存儲,若是沒有找到合適的隊列,消息丟失配置

相關文章
相關標籤/搜索