国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【技術選型】ActiveMQ、RocketMQ、RabbitMQ、Kafka對比

這篇具有很好參考價值的文章主要介紹了【技術選型】ActiveMQ、RocketMQ、RabbitMQ、Kafka對比。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

概述

MQ(Message Queue),即消息隊列。早已成為企業(yè)IT系統(tǒng)內部通信的核心手段。它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能,成為異步RPC的主要手段之一。當今市面上有很多主流的MQ,如老牌的ActiveMQ、RabbitMQ,炙手可熱的Kafka,阿里巴巴自主開發(fā)RocketMQ等。

幾種MQ的對比

下面我們先看下主流的幾種MQ的對比,如下表格:文章來源地址http://www.zghlxwxcb.cn/news/detail-636872.html

比較項 ActiveMQ RabbitMQ RocketMQ Kafka
所屬社區(qū)/公司 Apache Mozilla Public License 阿里巴巴 Apache
成熟度及授權 成熟/開源 成熟/開源 比較成熟/開源 成熟/開源
開發(fā)語言 java Erlang java Scala&java
客戶端支持語言 Java、C/C++、Python、PHP、Perl、.net等 官方支持Erlang,java,Ruby等,社區(qū)產出多種語言API,幾乎支持所有常用語言 Java、C++ 官方支持java,開源社區(qū)有多語言版本,如PHP,Python,Go,C/C++,Ruby等
協議支持 OpenWire、STOMP、REST、XMPP、AMQP 多協議支持:AMQP,XMPP,SMTP,STOMP 自己定義的一套(社區(qū)提供JMS–不成熟) 自有協議,社區(qū)封裝了HTTP協議支持
HA 基于ZooKeeper + LevelDB的Master-Slave實現方式 master/slave模式,master提供服務,slave僅作備份(冷備) 支持多Master模式,多Master多Slave模式,異步復制模式、同步雙寫 支持replica機制,leader宕掉后,備份自動頂替,并重新選舉leader(基于Zookeeper)
數據可靠性 Master/slave,有較低的概率丟失數據 可以保證數據不丟,有slave用作備份 支持異步實時刷盤,同步刷盤,同步復制,異步復制 數據可靠,且有replica機制,有容錯容災能力
單機吞吐量 萬級 萬級 十萬級,支撐高吞吐 十萬級,高吞吐,一般配合大數據類的系統(tǒng)進行實時數據計算、日志采集等場景
消息延遲 毫秒級 微秒級 毫秒級 毫秒級以內
流量控制 基于Credit-Based算法,是內部被動觸發(fā)的保護機制,作用于生產者層面。 支持client和user級別,通過主動設置可將流控作用于生產者或消費者。
持久化能力 默認內存,正常關閉時將內存中未處理的消息持久化文件,如果使用JDBC策略,則入數據庫 內存、文件,支持數據堆積。但堆積反過來影響吞吐量 磁盤文件 磁盤文件。只要磁盤容量夠,可以做到無限消息堆積
負載均衡 支持 支持 支持 支持
管理界面 一般 較好 命令行界面 官方只提供命令行版,yahoo開源自己的web管理界面
部署方式及難易 獨立/容易 獨立/容易 獨立/容易 獨立/容易
功能支持 MQ領域的功能較為完備 基于Erlang開發(fā),并發(fā)能力很強,性能極好,時延很低 MQ功能較為完善,還是分布式的,擴展性好 功能較為簡單,主要支持簡單的MQ功能,在大數據領域的實時計算以及日志采集方面被大規(guī)模使用

綜合以上對比后,有如下建議:

  • 通常早期大家都使用ActiveMQ,現在使用的不多,畢竟沒有經歷過大規(guī)模吞吐量場景的驗證,并且目前社區(qū)也不夠活躍,不推薦使用。
  • 而RoceketMQ來自阿里出品,目前有越來越多的公司嘗試使用,反映確實不錯。但社區(qū)活躍度不高,那些對自身公司技術實力信心滿滿的可以考慮。
  • 而Kafka名聲在外,之前在一家國產數據庫公司時,當時的總架就講解、推薦過。但目前來看,大數據領域的實時計算、日志采集等場景,kafka是業(yè)內標準,社區(qū)活躍度極高。有這方面的需求的,可以優(yōu)先考慮。
  • 最后對于RabbitMQ,無論從軟件成熟度,社區(qū)活躍度(最新的release版是2019年12月的),還是基本的吞吐能力,以及低時延,界面管理等方面,對于技術實力一般,技術挑戰(zhàn)不是很高的公司,可以考慮。RabbitMQ是個不錯的選擇。
  • 最后,沒有完美的產品,只有合適的軟件。技術選型畢竟還是要滿足業(yè)務需求的,滿足功能即可。

到了這里,關于【技術選型】ActiveMQ、RocketMQ、RabbitMQ、Kafka對比的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • SpringBoot整合消息中間件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

    SpringBoot整合消息中間件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

    消息的發(fā)送方:生產者 消息的接收方:消費者 同步消息:發(fā)送方發(fā)送消息到接收方,接收方有所回應后才能夠進行下一次的消息發(fā)送 異步消息:不需要接收方回應就可以進行下一步的發(fā)送 什么是消息隊列? 當此時有很多個用戶同時訪問服務器,需要服務器進行操作,但此

    2024年04月27日
    瀏覽(53)
  • 消息中間件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之間的區(qū)別

    消息中間件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之間的區(qū)別

    目錄 一、什么是消息中間件 二、消息中間件的組成 1、Broker 2、Producer 3、Consumer 4、Topic 5、Queue 6、Message 三、消息中間件通信模式 1、點對點(kafka不支持這種模式) ?2、發(fā)布/訂閱 ?四、消息中間件的作用 1、系統(tǒng)解耦 2、提高系統(tǒng)響應時間 3、為大數據處理架構提供服務 五、

    2024年01月25日
    瀏覽(26)
  • 消息隊列之六脈神劍:RabbitMQ、Kafka、ActiveMQ 、Redis、 ZeroMQ、Apache Pulsar對比和如何使用

    消息隊列(Message Queue)是一種異步通信機制,它將消息發(fā)送者和接收者解耦,從而提高了應用程序的性能、可擴展性和可靠性。在分布式系統(tǒng)中,消息隊列經常被用于處理高并發(fā)、異步處理、應用解耦等場景。 本篇回答將分析比較常見的六種消息隊列:RabbitMQ、Kafka、Active

    2024年02月14日
    瀏覽(19)
  • ActiveMQ、RabbitMQ、RocketMQ、Kafka介紹

    ActiveMQ、RabbitMQ、RocketMQ、Kafka介紹

    一、消息中間件的使用場景 ? 消息中間件的使用場景總結就是六個字:解耦、異步、削峰 ? 1.解耦 如果我方系統(tǒng)A要與三方B系統(tǒng)進行數據對接,推送系統(tǒng)人員信息,通常我們會使用接口開發(fā)來進行。但是如果運維期間B系統(tǒng)進行了調整,或者推送過程中B系統(tǒng)網絡進行了調整,

    2024年02月05日
    瀏覽(25)
  • 【消息隊列技術 RabbitMQ 和 Apache Kafka對比】

    【消息隊列技術 RabbitMQ 和 Apache Kafka對比】

    消息隊列技術有 RabbitMQ 和 Apache Kafka 是一個開源的消息隊列實現,它采用 AMQP(高級消息隊列協議)作為通信協議。RabbitMQ 的特點是可靠性高、擴展性好、功能豐富。它支持基于消息的異步通信模式,發(fā)布-訂閱模式和消息分發(fā)模式,可以在不同的應用之間傳遞消息。RabbitMQ 在

    2024年03月10日
    瀏覽(20)
  • 了解ActiveMQ、RabbitMQ、RocketMQ和Kafka的特點

    ActiveMQ是一種基于JMS(Java消息服務)規(guī)范的消息中間件,由Apache基金會開發(fā)和維護 核心組件和特點: Broker(代理):ActiveMQ的核心組件是Broker,它負責接收、存儲和路由消息,可以配置為單個實例或者集群,提供高可用性和可擴展性。 Producer(生產者)和Consumer(消費者):

    2024年02月07日
    瀏覽(52)
  • mq 消息隊列 mqtt emqx ActiveMQ RabbitMQ RocketMQ

    十幾年前,淘寶的notify,借鑒ActiveMQ。京東的ActiveMQ集群幾百臺,后面改成JMQ。 Linkedin的kafka,因為是scala,國內很多人不熟。淘寶的人把kafka用java寫了一遍,取名metaq,后來再改名RocketMQ。 總的來說,三大原因,語言、潮流、生態(tài)。 MQ這種東西,當你的消息量不大的時候,用啥

    2024年02月12日
    瀏覽(17)
  • Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么優(yōu)缺點?

    特性 ActiveMQ RabbitMQ RocketMQ Kafka 開發(fā)語言 java erlang java scala 單機吞吐量 萬級,比 RocketMQ、Kafka 低一個數量級 同 ActiveMQ 10 萬級,支撐高吞吐 10 萬級,高吞吐,一般配合大數據類的系統(tǒng)來進行實時數據計算、日志采集等場景 topic 數量對吞吐量的影響 topic 可以達到幾百/幾千的級

    2024年01月19日
    瀏覽(20)
  • Kafka、ActiveMQ、RabbitMQ和RocketMQ都有哪些區(qū)別?

    Kafka、ActiveMQ、RabbitMQ和RocketMQ都有哪些區(qū)別?

    Kafka、ActiveMQ、RabbitMQ和RocketMQ都是常見的消息中間件,它們都提供了高性能、高可用、可擴展的消息傳遞機制,但它們之間也有以下一些區(qū)別: 1、消息傳遞模型:Kafka主要支持發(fā)布-訂閱模型,ActiveMQ、RabbitMQ和RocketMQ則同時支持點對點和發(fā)布-訂閱兩種模型。 2、性能和吞吐量:

    2024年04月11日
    瀏覽(29)
  • 主流MQ [Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ]

    下面是 Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ 的更詳細和專業(yè)的對比: 特性/功能 Kafka RabbitMQ ZeroMQ RocketMQ ActiveMQ 語言 Java Erlang C Java Java 協議 自有協議 AMQP 自有協議 自有協議 JMS 可靠性 Kafka 使用分布式日志存儲,具有高可靠性和持久性 RabbitMQ 提供多種消息確認模式,具有高

    2024年02月03日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包