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

消息中間件之RocketMQ源碼分析(十)

這篇具有很好參考價值的文章主要介紹了消息中間件之RocketMQ源碼分析(十)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Namesrv啟動流程

消息中間件之RocketMQ源碼分析(十),消息中間件,rocketmq,java,消息中間件
消息中間件之RocketMQ源碼分析(十),消息中間件,rocketmq,java,消息中間件

第一步:腳本和啟動參數(shù)配置。

啟動命令 nohup ./bin/mqnamesrv -c ./conf/namesrv.conf > dev/null 2>&1 &
通過腳本配置啟動基本參數(shù),比如配置文件路徑、JVM參數(shù),調(diào)用NamesrvStartup.main()方法,解析命令行的參數(shù),將處理好的參數(shù)轉(zhuǎn)化為Java實例,傳遞給NamesrvController實例

第二步:new 一個NamesrvController

消息中間件之RocketMQ源碼分析(十),消息中間件,rocketmq,java,消息中間件

加載命令行傳遞的配置參數(shù),調(diào)用controller.initialize()方法初始化NamesrvController。
Namesrv啟動的主要初始化過程也在這個方法中,代碼如圖
1.加載KV配置。主要是從本地文件中加載KV配置到內(nèi)存中
2.初始化Netty通信層實例。RocketMQ基于Netty實現(xiàn)了一個RPC服務(wù)端,即NettyRemotingServer.通過參數(shù)nettyServerConfig,
會啟動9876端口監(jiān)聽
3.Namesrv主動檢測Broker是否可用,如果不可用就剔除。生產(chǎn)者、消費者也能通過心跳發(fā)現(xiàn)被踢出的路由,從而感知Broker下線
4.Namesrv定時打印配置信息到日志中。

第三步:NamesrvController在初始化后添加JVM Hook.Hook中會調(diào)用NamesrvController.shutdown()方法來關(guān)閉整個Namesrv服務(wù)

消息中間件之RocketMQ源碼分析(十),消息中間件,rocketmq,java,消息中間件

第四步:調(diào)用NamesrvController.start()方法,啟動整個Namesrv。其實start()方法只啟動了Namesrv接口處理線程池

Namesrv關(guān)閉流程

為什么需要了解停止流程呢?RocketMQ在設(shè)計之初已經(jīng)考慮了很多異常情況,比如Namesrv異常退出、突然斷電、內(nèi)存被打滿等等,只有了解了正常的停止流程才能對異常退出導(dǎo)致的問題進(jìn)行精確的分析和排障。

通常Namesrv的停止是通過關(guān)閉命令./mqshutdown namesrv來實現(xiàn)的。這個命令通過調(diào)用kill命令將關(guān)閉進(jìn)程通知發(fā)給JVM,JVM調(diào)用觀級Hook執(zhí)行停止邏輯。具體實現(xiàn)如下
消息中間件之RocketMQ源碼分析(十),消息中間件,rocketmq,java,消息中間件

1.關(guān)閉Netty服務(wù)端,主要是關(guān)閉Netty事件處理器、時間監(jiān)聽器等全部已經(jīng)初始化的組件
2.關(guān)閉Namesrv接口處理線程池
3.關(guān)閉全部已經(jīng)啟動的定時任務(wù)文章來源地址http://www.zghlxwxcb.cn/news/detail-829286.html

到了這里,關(guān)于消息中間件之RocketMQ源碼分析(十)的文章就介紹完了。如果您還想了解更多內(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)文章

  • 消息隊列中間件 MetaQ/RocketMQ

    消息隊列中間件 MetaQ/RocketMQ

    推薦電子書:云原生架構(gòu)白皮書 2022版-藏經(jīng)閣-阿里云開發(fā)者社區(qū) (aliyun.com) 簡介—— 消息隊列中間件 MetaQ/RocketMQ 中間件 MetaQ 是一種基于隊列模型的消息中間件,MetaQ 據(jù)說最早是受 Kafka 的影響開發(fā)的,第一版的名字?\\\"metamorphosis\\\",是奧地利作家卡夫卡的名作——《變形記》。

    2024年02月14日
    瀏覽(96)
  • 【消息中間件】RocketMQ消息重復(fù)消費場景及解決辦法

    【消息中間件】RocketMQ消息重復(fù)消費場景及解決辦法

    消息重復(fù)消費是各個MQ都會發(fā)生的常見問題之一,在一些比較敏感的場景下,重復(fù)消費會造成比較嚴(yán)重的后果,比如重復(fù)扣款等。 當(dāng)系統(tǒng)的調(diào)用鏈路比較長的時候,比如系統(tǒng)A調(diào)用系統(tǒng)B,系統(tǒng)B再把消息發(fā)送到RocketMQ中,在系統(tǒng)A調(diào)用系統(tǒng)B的時候,如果系統(tǒng)B處理成功,但是遲遲

    2024年02月05日
    瀏覽(41)
  • 分布式消息中間件RocketMQ的應(yīng)用

    分布式消息中間件RocketMQ的應(yīng)用

    所有代碼同步至GitCode:https://gitcode.net/ruozhuliufeng/test-rocketmq.git 普通消息 消息發(fā)送分類 ? Producer對于消息的發(fā)送方式也有多種選擇,不同的方式會產(chǎn)生不同的系統(tǒng)效果。 同步發(fā)送消息 ? 同步發(fā)送消息是指,Producer發(fā)出一條消息后,會在收到MQ返回的ACK之后才發(fā)下一條消息。

    2024年02月05日
    瀏覽(21)
  • 【消息中間件】詳解三大MQ:RabbitMQ、RocketMQ、Kafka

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

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

    2024年02月09日
    瀏覽(53)
  • ActiveMQ、RabbitMQ、Kafka、RocketMQ消息中間件技術(shù)選型

    消息中間件是分布式系統(tǒng)中重要的組件之一,用于實現(xiàn)異步通信、解耦系統(tǒng)、提高系統(tǒng)可靠性和擴展性。在做消息中間件技術(shù)選型時,需要考慮多個因素,包括可靠性、性能、可擴展性、功能豐富性、社區(qū)支持和成本等。本文將五種流行的消息中間件技術(shù):ActiveMQ、RabbitMQ、

    2024年02月11日
    瀏覽(23)
  • SpringBoot整合消息中間件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

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

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

    2024年04月27日
    瀏覽(53)
  • RocketMQ:一個純java的開源消息中間件--開發(fā)測試環(huán)境搭建

    一、簡介 ? ? RocketMQ的前身是Metaq,當(dāng)?Metaq?3.0發(fā)布時,產(chǎn)品名稱改為? RocketMQ ????MetaQ2.x版本由于依賴了alibaba公司內(nèi)部其他系統(tǒng),對于公司外部用戶使用不夠友好,推薦使用3.0版本。 ? ? ?項目地址:? https://github.com/alibaba/RocketMQ

    2024年02月11日
    瀏覽(25)
  • 消息中間件(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)
  • Linux系統(tǒng)下消息中間件RocketMQ下載、安裝、搭建、配置、控制臺rocketmq-dashboard的安裝保姆級教程 rocketmq ui

    Linux系統(tǒng)下消息中間件RocketMQ下載、安裝、搭建、配置、控制臺rocketmq-dashboard的安裝保姆級教程 rocketmq ui

    這里給出我使用的 RocketMQ 版本(5.1.3)、RocketMQ-Dashboard 版本的百度網(wǎng)盤鏈接: 鏈接:https://pan.baidu.com/s/1HaKBBDGWZ0WKLGgVwIG9pw 提取碼:1234 1、注意:有兩種資源下載:Source表示源碼、Binary是二進(jìn)制包(我們下載這個):二進(jìn)制包是已經(jīng)編譯完成后可以直接運行的,源碼包是需要

    2024年02月12日
    瀏覽(24)
  • 消息中間件(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)響應(yīng)時間 3、為大數(shù)據(jù)處理架構(gòu)提供服務(wù) 五、

    2024年01月25日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包