RabbitMQ基本介紹(1)

1.MQ作用

異步、解耦、分佈式、錯峯限流。

 

2.目前主流的MQ介紹

Kafka、RabbitMQ、RocketMQ

Kafka:分佈式、高吞吐;不支持事務對重複、錯誤和丟失沒有嚴格要求。

RabbitMQ:純Java開發,高吞吐量,高可用性,適用於大規模分佈式系統。

ActiveMQ:豐富的API,多種集羣構建模式,但吐量下降一般適用於中小型企業。

 

3.消息中間件的組成

 3.1 Broker: 消息服務器,作爲server提供消息核心服務

​ 3.2 Producer: 消息生產者,業務的發起方,負責生產消息傳輸給broker,

​ 3.3 Consumer: 消息消費者,業務的處理方,負責從broker獲取消息並進行業務邏輯處理

​ 3.4 Topic :主題,發佈訂閱模式下的消息統一彙集地,不同生產者向topic發送消息,由MQ服務器分發到不同的訂閱者,實現消息的 廣播

​ 3.5 Queue:隊列,PTP模式下,特定生產者向特定queue發送消息,消費者訂閱特定的queue完成指定消息的接收

​ 3.6 Message:消息體,根據不同通信協議定義的固定格式進行編碼的數據包,來封裝業務數據,實現消息的傳輸

 

4 消息隊列5種模式

(一) 簡單模式

   特點: 一個消費者

  

 

(二) 工作模式

  特點:多個消費者,每個消費者處理的信息是不一樣的,用在高併發.

  

 

(三) 訂閱模式

   特點:每個消費者得到的消息是一樣的

  

 

(四) 路由模式

  說明:路由模式是發佈訂閱模式的升級,通過定義不用的路由key使得程序將消息發送到不同的隊列中

   每個消費者得到信息不一樣的,信息有routingkey,消費者執行select where routingkey=mobile

 

  

 

(五) 主題模式

   說明:可以通過路由key將消息發送到一類相同的key中 使用通配符實現

   消息分類,消費者取消息時用mobile.*能取到routingKey爲mobile.cart和mobile.order的信息。

 

  

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