訊息中介軟體優缺點及選型

2021-09-03 08:09:49 字數 904 閱讀 2404

1 優點

解耦:通過pub/sub發布訂閱訊息,解除系統之間的耦合性

非同步:非同步處理請求,實現快速響應

削峰:mysql一般可以支援每秒2k請求,將請求寫入訊息中介軟體,慢慢拉取

2 缺點

可用性降低:請求處理依賴訊息中介軟體

複雜的提高:需要處理重複消費、訊息丟失、訊息傳遞順序等

一致性問題:訊息消費可能失敗,導致資料不一致

3 對比

特性activemq

rabbitmq

rocketmq

kafka

單機吞吐量

萬級萬級

十萬級,高吞吐

十萬級,高吞吐,常用與實時計算、日誌採集等場景

topic對吞吐量影響

topic在幾百/幾千時,吞吐量會有較小的下降

topic在幾十/幾百時,吞吐量會大幅度下降

時效性毫秒

微妙毫秒

毫秒內可用性

高,通過主從架構實現高可用

高,通過主從架構實現高可用

非常高,分布式架構

非常高,分布式,乙個資料多副本,部分宕機不會丟失資料,不會不可用

可靠性較低概率丟失資料

引數優化後可0丟失

引數優化後可0丟失

功能支援

極其完備

併發強、效能極好、延時很低

較為完善、分布式、拓展性好

較為簡單

4 建議

activemq:沒有大規模吞吐場景驗證,沒有活躍社群,不建議

rabbitmq:開源、社群活躍,erlang語言開發

rocketmq:阿里出品

kafka:大資料領域業內標準,社群活躍

訊息中介軟體 有什麼優缺點?

首先,我們先來確認下業界使用mq的三大場景。1.1 場景一 a 系統傳送資料到 bcd 三個系統,通過介面呼叫傳送。如果 e 系統也要這個資料呢?那如果 c 系統現在不需要了呢?a 系統負責人幾乎崩潰 在這個場景中,a系統和各個系統之間有複雜的耦合關係 如果使用mq,a系統生產一條資料,傳送到mq中...

訊息中介軟體的技術選型

rabbitmq activemq和zeromq都是極好的訊息中介軟體,但是我們在專案中該選擇哪個更適合呢?很多開發者面臨這個煩惱。下面我會對這三個訊息中介軟體做乙個比較,看了後你們就心中有數了。rabbitmq是amqp協議領先的乙個實現,它實現了 broker 架構,意味著訊息在傳送到客戶端之前...

訊息中介軟體

1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...