kafka,activeMq,rabbitmq,rocketMq都有什麼區別,以及適合那些場景

問題:

  1. 爲什麼使用消息隊列
  2. 消息隊列有什麼優點和缺點
  3. kafka,activeMq,rabbitmq,rocketMq都有什麼區別,以及適合那些場景

優點:結偶,併發削峯,異步
缺點:可用性降低,系統複雜性變高,
重複消費:系統發了兩條,兩條都插入了數據庫
消息丟失:系統根本沒法請求到目標系統
一致性問題:系統要再ABC三個系統都執行成功之後才返回成功,結果AB成功了,C失敗了

mq的6種工作模式:

  • 簡單模式:一個生產者,一個消費者
  • work模式:一個生產者,多個消費者,每個消費者獲取到的消息唯一。
  • 訂閱模式:一個生產者發送的消息會被多個消費者獲取。
  • 路由模式:發送消息到交換機並且要指定路由key ,消費者將隊列綁定到交換機時需要指定路由key
  • topic模式:將路由鍵和某模式進行匹配,此時隊列需要綁定在一個模式上,“#”匹配一個詞或多個詞,“*”只匹配一個詞。

4個mq的優缺點對比:

在這裏插入圖片描述
在這裏插入圖片描述
rabbitMq : 開源項目,社區活躍,中小型工時使用
rocketMq :大型公司,基礎研發能力搶,使用rocketMq
kafka : 大數據領域實時計算,日誌採集,用kafka是業內標準

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