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

RocketMQ的學(xué)習(xí)歷程(一)----MQ簡介

這篇具有很好參考價值的文章主要介紹了RocketMQ的學(xué)習(xí)歷程(一)----MQ簡介。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.MQ的簡單了解

1.1.MQ簡介:

MQ,message Queue,是一種提供消息隊列服務(wù)的中間件,也稱消息中間件,是一套提供了信息生產(chǎn),儲存,消費全過程的API軟件系統(tǒng)。

1.2.MQ的主要用途:

  1. 流量削峰

MQ的流量削峰是指在系統(tǒng)面臨高并發(fā)請求時,使用MQ來緩沖請求,避免數(shù)據(jù)庫或其他服務(wù)承受過大的壓力。

例如,在雙十一等活動中,用戶的下單、搶購、支付等操作會導(dǎo)致系統(tǒng)的峰值流量集中在短時間內(nèi),如果直接訪問數(shù)據(jù)庫,可能會造成數(shù)據(jù)庫宕機(jī)或響應(yīng)緩慢。這時候,可以使用MQ來接收用戶的請求,然后按照一定的速率消費消息,從而平滑系統(tǒng)的負(fù)載。這樣既可以保證用戶的請求不會丟失,也可以提高系統(tǒng)的可用性和穩(wěn)定性。

流量削峰實際上是消息隊列最重要的功能,說直白點就是可以避免服務(wù)器在高峰時間段可能發(fā)生的宕機(jī)

  1. 異步解耦

MQ解耦合是指使用MQ來降低系統(tǒng)之間的依賴關(guān)系,使得系統(tǒng)之間可以異步地交換數(shù)據(jù)和消息。例如,如果A系統(tǒng)需要向B、C、D系統(tǒng)發(fā)送數(shù)據(jù),如果不使用MQ,那么A系統(tǒng)就需要直接調(diào)用B、C、D系統(tǒng)的接口,這樣會增加A系統(tǒng)的復(fù)雜度和風(fēng)險,如果其中一個系統(tǒng)出現(xiàn)故障或變動,會影響A系統(tǒng)的正常運(yùn)行。如果使用MQ,那么A系統(tǒng)只需要將數(shù)據(jù)發(fā)送到MQ中,然后由B、C、D系統(tǒng)從MQ中拉取數(shù)據(jù),這樣就可以實現(xiàn)A系統(tǒng)和B、C、D系統(tǒng)的解耦合。這樣既可以提高系統(tǒng)的可擴(kuò)展性和容錯性,也可以減少系統(tǒng)的開發(fā)和維護(hù)成本

1.3.MQ的主流產(chǎn)品:

  1. ActiveMQ
    很老的玩意了,據(jù)說已經(jīng)g了
  2. RabbitMQ
    RabbitMQ是一款使用Erlang語言開發(fā)的,實現(xiàn)AMQP (高級消息隊列協(xié)議)的開源消息中間件。它可以讓應(yīng)用程序之間通過消息來異步交互,提高系統(tǒng)的可靠性、可擴(kuò)展性和靈活性。
  3. Kafka
    大量用于大數(shù)據(jù)領(lǐng)域,以高吞吐量著名,用與實時計算,日志采集場景,沒用使用常見MQ協(xié)議,而是自研協(xié)議。
  4. RocketMQ
    使用java語言開發(fā),經(jīng)過阿里雙十一數(shù)年考驗,借鑒了kafka,同樣使用自研協(xié)議。
    性能對比:圖片來源https://www.bilibili.com/video/BV1cf4y157sz

RocketMQ的學(xué)習(xí)歷程(一)----MQ簡介

1.4.MQ常見協(xié)議:

  • AMQP(Advanced Message Queuing Protocol),高級消息隊列協(xié)議,是一個提供統(tǒng)一消息服務(wù)的應(yīng)用層標(biāo)準(zhǔn)協(xié)議,為面向消息的中間件設(shè)計。它定義了消息的格式、傳輸方式和交換規(guī)則,支持多種語言和平臺。RabbitMQ就是基于AMQP協(xié)議的一個開源消息中間件。
  • MQTT(Message Queuing Telemetry Transport),消息隊列遙測傳輸,是IBM開發(fā)的一個即時通訊協(xié)議,是一種二進(jìn)制協(xié)議,主要用于服務(wù)器和低功耗IoT(物聯(lián)網(wǎng))設(shè)備間的通信。它使用發(fā)布/訂閱模式,支持三種不同的服務(wù)質(zhì)量(QoS)級別。
  • STOMP(Simple Text Oriented Messaging Protocol),簡單文本定向消息協(xié)議,是一個基于文本的消息傳輸協(xié)議,可以在不同的語言和平臺之間進(jìn)行通信。它使用幀結(jié)構(gòu)來傳輸數(shù)據(jù),每個幀包含一個命令、一個可選的頭部和一個可選的正文。
  • XMPP(可擴(kuò)展消息處理現(xiàn)場協(xié)議,Extensible Messaging and Presence Protocol)是基于可擴(kuò)展標(biāo)記語言(XML)的協(xié)議,多用于即時消息(IM)以及在線現(xiàn)場探測。適用于服務(wù)器之間的準(zhǔn)即時操作。核心是基于XML流傳輸,這個協(xié)議可能最終允許因特網(wǎng)用戶向因特網(wǎng)上的其他任何人發(fā)送即時消息,即使其操作系統(tǒng)和瀏覽器不同。
    優(yōu)點:通用公開、兼容性強(qiáng)、可擴(kuò)展、安全性高,但XML編碼格式占用帶寬大

1.5.RocketMQ的發(fā)展歷程:

image.png

  • 2007年,阿里開始五彩石項目,Notify作為項目中的交易核心消息流轉(zhuǎn)系統(tǒng),應(yīng)運(yùn)而生,Notify系統(tǒng)是RocketMQ的雛形。

  • 2010年,B2B大規(guī)模使用ActiveMQ作為阿里的消息內(nèi)核,阿里需要一個海量信息堆積的消息系統(tǒng)。

  • 2011年初,Kafka開源,淘寶借鑒,開發(fā)Meta MQ。

  • 2012年,MetaMQ發(fā)展DA到3.0水平,并將其抽象形成Rocket MQ 對其進(jìn)行了開源。

  • 2015年,阿里在RocketMQ基礎(chǔ)上,有推出了一款專門針對阿里云上消息系統(tǒng)Aliware MQ。

  • 2016年雙十一,RocketMQ承載了萬億級消息的流轉(zhuǎn),跨越了一個新的里程碑。11月28日,阿里巴巴向Apache 軟件基金會捐贈RocketMQ,成為Apache孵化項目。

  • 2017年9月25日,Apache宣布RocketMQ孵化成為Apache頂級項目(TLP),成為國內(nèi)首個互聯(lián)網(wǎng)中間件在Apache上的頂級項目。文章來源地址http://www.zghlxwxcb.cn/news/detail-414412.html

到了這里,關(guān)于RocketMQ的學(xué)習(xí)歷程(一)----MQ簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【消息中間件】詳解三大MQ:RabbitMQ、RocketMQ、Kafka

    【消息中間件】詳解三大MQ:RabbitMQ、RocketMQ、Kafka

    作者簡介 前言 博主之前寫過一個完整的MQ系列,包含RabbitMQ、RocketMQ、Kafka,從安裝使用到底層機(jī)制、原理。專欄地址: https://blog.csdn.net/joker_zjn/category_12142400.html?spm=1001.2014.3001.5482 本文是該系列的清單綜述,會拉通來聊一下三大MQ的特點和各種適合的場景。 目錄 1.概述 1.1.M

    2024年02月09日
    瀏覽(53)
  • MQ公共特性介紹 (ActiveMQ, RabbitMQ, RocketMQ, Kafka對比)

    MQ公共特性介紹 (ActiveMQ, RabbitMQ, RocketMQ, Kafka對比)

    本文主要介紹所有MQ框架都具備的公共特點,同時對比了一些目前比較主流MQ框架的優(yōu)缺點,給大家做技術(shù)選型作參考。 MQ,MessageQueue,消息中間件 從世界上第一個MQ的誕生歷程來看,它最初是為了解決通信的問題。 消息隊列,又叫做消息中間件。是指用高效可靠的消息傳遞

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

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

    2024年02月12日
    瀏覽(17)
  • MQ概述及RocketMQ在Linux下的安裝和啟動

    MQ概述及RocketMQ在Linux下的安裝和啟動

    MQ全稱 Message Queue(消息隊列),是在消息的傳輸過程中保存消息的容器。多用于分布式系統(tǒng)之間進(jìn)行通信。 從網(wǎng)上可以查看到很多的關(guān)于MQ用途的敘述,但總結(jié)起來其實就以下三點: 1.限流削峰 MQ可以將系統(tǒng)的超量請求暫存其中,以便系統(tǒng)后期可以慢慢進(jìn)行處理,從而避免了

    2024年02月09日
    瀏覽(20)
  • 主流MQ [Kafka、RabbitMQ、ZeroMQ、RocketMQ 和 ActiveMQ]

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

    2024年02月03日
    瀏覽(26)
  • MQ對比選型:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ

    本文將從多個角度全方位對比目前比較常用的幾個MQ: RocketMQ Kafka RabbitMQ ActiveMQ ZeroMQ下文單獨說明。 特性 RocketMQ Kafka RabbitMQ ActiveMQ 單機(jī)吞吐量 10 萬級,支撐高吞吐 10 萬級以上,甚至有文獻(xiàn)稱,可以達(dá)到單機(jī)百萬級TPS。 萬級,同ActiveMQ 萬級,相對其他MQ較低。 topic 數(shù)量對吞

    2024年04月27日
    瀏覽(22)
  • 消息中間件(MQ)對比:RabbitMQ、Kafka、ActiveMQ 和 RocketMQ

    前言 在構(gòu)建分布式系統(tǒng)時,選擇適合的消息中間件是至關(guān)重要的決策。RabbitMQ、Kafka、ActiveMQ 和 RocketMQ 是當(dāng)前流行的消息中間件之一,它們各自具有獨特的特點和適用場景。本文將對這四種消息中間件進(jìn)行綜合比較,幫助您在項目中作出明智的選擇。 1. RabbitMQ 特點: 消息模

    2024年02月20日
    瀏覽(35)
  • MQ 簡介-RabbitMQ

    消息隊列作為高并發(fā)系統(tǒng)的核心組件之一,能夠幫助業(yè)務(wù)系統(tǒng)結(jié)構(gòu)提升開發(fā)效率和系統(tǒng) 穩(wěn)定性,消息隊列主要具有以下特點: 削峰填谷 :主要解決瞬時寫壓力大于應(yīng)用服務(wù)能力導(dǎo)致消息丟失、系統(tǒng)奔潰等問題 系統(tǒng)解耦 :解決不同重要程度、不同能力級別系統(tǒng)之間依賴導(dǎo)致一死

    2024年02月11日
    瀏覽(16)
  • C++線程的簡單學(xué)習(xí)及了解

    C++線程的簡單學(xué)習(xí)及了解

    此篇文章只是線程的簡單了解。 文章目錄 前言 一、線程的優(yōu)缺點 二、C++線程庫 1.thread類的簡單介紹 2.線程函數(shù)參數(shù) 總結(jié) 什么是線程? 在一個程序里的一個執(zhí)行路線就叫做線程(thread)。更準(zhǔn)確的定義是:線程是“一個進(jìn)程內(nèi)部的控制序列” 一切進(jìn)程至少都有一個執(zhí)行線

    2023年04月27日
    瀏覽(26)
  • (三)了解和運(yùn)行簡單的深度學(xué)習(xí)模型

    (三)了解和運(yùn)行簡單的深度學(xué)習(xí)模型

    TensorFlow是一個端到端開源機(jī)器學(xué)習(xí)平臺,使用數(shù)據(jù)流圖進(jìn)行數(shù)值計算,圖中的節(jié)點代表數(shù)學(xué)運(yùn)算,而圖中的邊則代表在這些節(jié)點之間傳遞的張量。TensorFlowi支持oythonJavaScript、C++、Java和Go, C#和julia等多種編程語言,讓用戶可以快速設(shè)計深度學(xué)習(xí)網(wǎng)絡(luò),將底層細(xì)節(jié)進(jìn)行抽象;靈活

    2024年02月12日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包