訊息佇列有什麼優缺點?

2021-09-17 20:37:00 字數 1198 閱讀 1307

當前位置:

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 訊息模型 主題和佇列有什麼區別

佇列是一種資料結構,有完整而嚴格的定義。佇列 先進先出 注 多個生產者傳送資訊為所有訊息合集,順序為生產者傳送訊息的自然順序。多個消費者時,任何一條訊息只能被乙個消費者收到 多個消費者需要共享乙個訊息,演化出 發布 訂閱模型 注 佇列和發布 訂閱模型最大區別就是乙份訊息資料能不能被消費多次的問題 依...