最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談一下RabbitMQ、Kafka和RocketMQ消息中間件對(duì)比

 更新時(shí)間:2023年05月20日 09:11:55   作者:叫我二蛋  
這篇文章主要介紹了淺談一下RabbitMQ、Kafka和RocketMQ消息中間件對(duì)比,消息中間件屬于分布式系統(tǒng)中一個(gè)字系統(tǒng),關(guān)注于數(shù)據(jù)的發(fā)送和接收,利用高效可靠的異步信息傳遞機(jī)制對(duì)分布式系統(tǒng)中的其余各個(gè)子系統(tǒng)進(jìn)行集成,需要的朋友可以參考下

前言

不論Kafka還是RabbitMQ和RocketMQ,作為消息中間件,其作用為應(yīng)用解耦、異步通訊、流量削峰填谷等。 拿我之前參加的一個(gè)電商項(xiàng)目來說,訂單消息通過MQ從訂單系統(tǒng)到支付系統(tǒng)、庫存系統(tǒng)等,當(dāng)訂單信息寫入MQ后就不再關(guān)心后續(xù)操作,既達(dá)到了應(yīng)用解耦又達(dá)到異步通信。因?yàn)橛唵蔚牟l(fā)量較大,為了避免數(shù)據(jù)庫承受不住,在訂單信息持久化時(shí)通過MQ+定時(shí)任務(wù)將訂單信息均勻的持久到數(shù)據(jù)庫中,達(dá)到削峰填谷作用。 那為什么有這么多的MQ?這些MQ又有什么區(qū)別?本文基于RabbitMQ、Kafka、RocketMQ,從側(cè)重點(diǎn)、架構(gòu)模型、消息通訊以及其他方面對(duì)比說明。

側(cè)重點(diǎn)

每個(gè)MQ的側(cè)重點(diǎn)不一樣。

  • RabbitMQ RabbitMQ由以高性能、健壯以及可伸縮性出名的Erlang語言編寫,在擴(kuò)展或刪除Rabbit服務(wù)節(jié)點(diǎn)時(shí)只需要同步erlang信息即可。另外rabbitmq在數(shù)據(jù)可靠性的問題上做了很大的努力,它保證在這里數(shù)據(jù)是非常可靠的。
  • Kafka Kafka由Scala和Java編寫,與RabbitMQ不同,Kafka是一種高吞吐量的分布式消息中間件,其通過零拷貝、pagecahe技術(shù)以及分區(qū)的設(shè)計(jì)實(shí)現(xiàn)高吞吐,同時(shí)分區(qū)的設(shè)計(jì)也避免了消息存儲(chǔ)瓶頸問題。
  • RocketMQ RocketMQ是阿里出品的,參考Kafka架構(gòu)使用Java語言重新編寫的一個(gè)消息中間件,彌補(bǔ)了Kafka的擴(kuò)展性,在Kafka基礎(chǔ)上擴(kuò)展了多種消息模式,比如延遲消息、事務(wù)消息。

架構(gòu)模型

  • RabbitMQ

RabbitMQ 基于AMQP協(xié)議實(shí)現(xiàn),其模型如下:

在這里插入圖片描述

Kafka與RocketMQ架構(gòu)類似,RocketMQ使用NameServer代替了Zookeeper,這一點(diǎn)我覺得對(duì)開發(fā)人員是比較友好的,少了一個(gè)組件。

  • Kafka

在這里插入圖片描述

  • RocketMQ

在這里插入圖片描述

消息通訊

  • RabbitMQ

RabbitMQ支持發(fā)布訂閱、Topic及RPC多種通訊方式,滿足大部分消息通訊,并支持死信隊(duì)列。另外,RabbitMQ的插件社區(qū)支持豐富的插件,可通過安裝插件添加額外的功能。例如,延遲隊(duì)列、優(yōu)先隊(duì)列、管理控制臺(tái)等插件。

  • Kafka

相比RabbitMQ,Kafka只有單一的Topic通訊方式,消息在消費(fèi)后依然不支持死信隊(duì)列、延遲隊(duì)列等。

  • RocketMQ

RocketMQ也是基于Topic進(jìn)行通訊,畢竟架構(gòu)模型相似,不過RocketMQ本身支持延遲消息、事務(wù)消息等,功能比較豐富。

其他對(duì)比

RabbitMQKafkaRocketMQ
社區(qū)活躍度較高一版
持久化支持支持支持
并發(fā)吞吐極高極高
時(shí)效性us級(jí)ms級(jí)ms級(jí)
數(shù)據(jù)可靠極高
應(yīng)用場景高可靠交易系統(tǒng)日志系統(tǒng)、大數(shù)據(jù)應(yīng)用互聯(lián)網(wǎng)高并發(fā)、高可用應(yīng)用

總結(jié)

每個(gè)MQ的功能及作用大差不差,都有自己的優(yōu)勢以及不足,選擇適合業(yè)務(wù)的MQ就可以。

到此這篇關(guān)于淺談一下RabbitMQ、Kafka和RocketMQ消息中間件對(duì)比的文章就介紹到這了,更多相關(guān)RabbitMQ、Kafka和RocketMQ對(duì)比內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談將子類對(duì)象賦值給父類對(duì)象

    淺談將子類對(duì)象賦值給父類對(duì)象

    淺談將子類對(duì)象賦值給父類對(duì)象...
    2006-12-12
  • springboot通用分支處理超級(jí)管理員權(quán)限邏輯

    springboot通用分支處理超級(jí)管理員權(quán)限邏輯

    這篇文章主要為大家介紹了springboot通用分支處理超級(jí)管理員的權(quán)限邏輯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • SpringMvc+Mybatis+Pagehelper分頁詳解

    SpringMvc+Mybatis+Pagehelper分頁詳解

    這篇文章主要介紹了SpringMvc+Mybatis+Pagehelper分頁詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下的相關(guān)資料
    2017-01-01
  • IDEA高效查看源碼的快捷鍵及小技巧

    IDEA高效查看源碼的快捷鍵及小技巧

    本篇文章這一部分的內(nèi)容主要為大家介紹了一些平時(shí)看源碼的時(shí)候常用的快捷鍵/小技巧!非常好用!掌握這些快捷鍵/小技巧,看源碼的效率提升一個(gè)等級(jí)
    2022-01-01
  • springboot不同環(huán)境使用不同配置文件打包方式

    springboot不同環(huán)境使用不同配置文件打包方式

    這篇文章主要介紹了springboot不同環(huán)境使用不同配置文件打包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • spring aop實(shí)現(xiàn)接口超時(shí)處理組件的代碼詳解

    spring aop實(shí)現(xiàn)接口超時(shí)處理組件的代碼詳解

    這篇文章給大家介紹了spring aop實(shí)現(xiàn)接口超時(shí)處理組件,文中有詳細(xì)的實(shí)現(xiàn)思路,并通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • Java實(shí)現(xiàn)短信驗(yàn)證碼的示例代碼

    Java實(shí)現(xiàn)短信驗(yàn)證碼的示例代碼

    Java是一種流行的編程語言,驗(yàn)證碼是一種常用的網(wǎng)絡(luò)安全技術(shù)。Java發(fā)展至今,網(wǎng)上也出現(xiàn)了各種各樣的驗(yàn)證碼,下面是用Java實(shí)現(xiàn)短信驗(yàn)證碼的總結(jié),感興趣的可以了解一下
    2023-03-03
  • springboot IDEA啟動(dòng)兩個(gè)端口服務(wù)nginx負(fù)載過程

    springboot IDEA啟動(dòng)兩個(gè)端口服務(wù)nginx負(fù)載過程

    這篇文章主要介紹了springboot IDEA啟動(dòng)兩個(gè)端口服務(wù)nginx負(fù)載過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java中創(chuàng)建線程的兩種方式詳細(xì)說明

    Java中創(chuàng)建線程的兩種方式詳細(xì)說明

    這篇文章主要介紹了Java中創(chuàng)建線程的兩種方式詳細(xì)說明,Java使用java.lang.Thread類代表線程,所有的線程對(duì)象都必須是Thread類或其子類的實(shí)例,每個(gè)線程的作用是完成一定的任務(wù),實(shí)際上就是執(zhí)行一段程序流即一段順序執(zhí)行的代碼,需要的朋友可以參考下
    2023-11-11
  • Java中的DecimalFormat用法解析

    Java中的DecimalFormat用法解析

    這篇文章主要介紹了Java中的DecimalFormat用法解析,DecimalFormat是Java中用于格式化數(shù)字的類,它提供了一種簡單而靈活的方式來格式化數(shù)字,包括指定小數(shù)位數(shù)、千位分隔符、貨幣符號(hào)等,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

陆川县| 夹江县| 南安市| 伊吾县| 梨树县| 雷州市| 洞头县| 临海市| 大庆市| 台东市| 苏尼特右旗| 洱源县| 正安县| 灌南县| 广宁县| 喀喇| 梓潼县| 中阳县| 鹤壁市| 斗六市| 安阳市| 那坡县| 文山县| 濮阳市| 鄢陵县| 郸城县| 昌乐县| 屯昌县| 阿鲁科尔沁旗| 珠海市| 宜春市| 攀枝花市| 和硕县| 定日县| 绿春县| 湄潭县| 西和县| 衢州市| 广平县| 丰原市| 西昌市|