當前位置:
home »
mq »
訊息佇列有什麼優缺點?
特性activemq
rabbitmq
rocketmq
kafka
單機吞吐量
萬級,比 rocketmq、kafka 低乙個數量級
同 activemq
10 萬級,支撐高吞吐
10 萬級,高吞吐,一般配合大資料類的系統來進行實時資料計算、日誌採集等場景
topic 數量對吞吐量的影響
topic 可以達到幾百/幾千的級別,吞吐量會有較小幅度的下降,這是 rocketmq 的一大優勢,在同等機器下,可以支撐大量的 topic
topic 從幾十到幾百個時候,吞吐量會大幅度下降,在同等機器下,kafka 盡量保證 topic 數量不要過多,如果要支撐大規模的 topic,需要增加更多的機器資源
時效性ms 級
微秒級,這是 rabbitmq 的一大特點,延遲最低
ms 級
延遲在 ms 級以內
可用性高,基於主從架構實現高可用
同 activemq
非常高,分布式架構
非常高,分布式,乙個資料多個副本,少數機器宕機,不會丟失資料,不會導致不可用
訊息可靠性
有較低的概率丟失資料
基本不丟
經過引數優化配置,可以做到 0 丟失
同 rocketmq
功能支援
mq 領域的功能極其完備
基於 erlang 開發,併發能力很強,效能極好,延時很低
mq 功能較為完善,還是分布式的,擴充套件性好
功能較為簡單,主要支援簡單的 mq 功能,在大資料領域的實時計算以及日誌採集被大規模使用
缺點有以下幾個:
系統可用性降低
系統引入的外部依賴越多,越容易掛掉。本來你就a 系統呼叫 bcd 三個系統的介面就沒問題,可加個 mq 進來,萬一 mq 掛了,整套系統崩潰。
系統複雜度提高
系統複雜度提公升了乙個數量級,也許是複雜了 10 倍
一致性問題
a 系統處理完了直接返回成功,都以為你請求就成功了;但是問題,要是 bcd 三個系統,bd 系統寫庫成功了,結果 c 系統寫庫失敗了。
0
賞 author
your effort is to live up to yourself.
為什麼要使用訊息佇列以及訊息佇列的優缺點
1 為什麼要使用訊息佇列?1 解耦 傳統模式的缺點 系統間耦合性太強,如上圖所示,系統a在 中直接呼叫系統b和系統c的 如果將來d系統接入,系統a還需要修改 過於麻煩!中介軟體模式 將訊息寫入訊息佇列,需要訊息的系統自己從訊息佇列中訂閱,從而系統a不需要做任何修改。2 非同步 傳統模式缺點 一些非必...
使用MQ訊息佇列的優缺點
首先要知道,為什麼要用mq,說白了就是以下3點 就是乙個系統或者乙個模組,呼叫了多個系統或者模組,互相之間的呼叫很複雜,維護起來很麻煩。其實這個呼叫是不需要直接同步呼叫介面的,皆可以用mq給他非同步化解耦。比如 像如圖所示 a系統和其他系統沒有直接的關聯 那我們進行擴充套件的時候也會更靈活 如圖所示...
訊息佇列 03 訊息模型 主題和佇列有什麼區別
佇列是一種資料結構,有完整而嚴格的定義。佇列 先進先出 注 多個生產者傳送資訊為所有訊息合集,順序為生產者傳送訊息的自然順序。多個消費者時,任何一條訊息只能被乙個消費者收到 多個消費者需要共享乙個訊息,演化出 發布 訂閱模型 注 佇列和發布 訂閱模型最大區別就是乙份訊息資料能不能被消費多次的問題 依...