中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行RocketMQ消息軌跡的分析

發布時間:2021-12-09 09:11:31 來源:億速云 閱讀:144 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關如何進行RocketMQ消息軌跡的分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。


RocketMQ消息軌跡,主要跟蹤消息發送、消息消費的軌跡,即詳細記錄消息各個處理環節的日志,從設計上至少需要解決如下三個核心問題:

消息軌跡數據格式

RocketMQ4.5版本消息軌跡主要記錄如下信息:

  • traceType
    跟蹤類型,可選值:Pub(消息發送)、SubBefore(消息拉取到客戶端,執行業務定義的消費邏輯之前)、SubAfter(消費后)。

  • timeStamp
    當前時間戳。

  • regionId
    broker所在的區域ID,取自BrokerConfig#regionId。

  • groupName
    組名稱,traceType為Pub時為生產者組的名稱;如果traceType為subBefore或subAfter時為消費組名稱。

  • requestId
    traceType為subBefore、subAfter時使用,消費端的請求Id。

  • topic
    消息主題。

  • msgId
    消息唯一ID。

  • tags
    消息tag。

  • keys
    消息索引key,根據該key可快速檢索消息。

  • storeHost
    跟蹤類型為PUB時為存儲該消息的Broker服務器IP;跟蹤類型為subBefore、subAfter時為消費者IP。

  • bodyLength
    消息體的長度。

  • costTime
    耗時。

  • msgType
    消息的類型,可選值:Normal_Msg(普通消息),Trans_Msg_Half(預提交消息),Trans_msg_Commit(提交消息),Delay_Msg(延遲消息)。

  • offsetMsgId
    消息偏移量ID,該ID中包含了broker的ip以及偏移量。

  • success
    是發送成功。

  • contextCode
    消費狀態碼,可選值:SUCCESS,TIME_OUT,EXCEPTION,RETURNNULL,FAILED。

 

記錄消息軌跡

消息中間件的兩大核心主題:消息發送、消息消費,其核心載體就是消息,消息軌跡(消息的流轉)主要是記錄消息是何時發送到哪臺Broker,發送耗時多少時間,在什么是被哪個消費者消費。記錄消息的軌跡主要是集中在消息發送前后、消息消費前后,可以通過RokcetMQ的Hook機制。通過如下兩個接口來定義鉤子函數。

如何進行RocketMQ消息軌跡的分析  
通過實行上述兩個接口,可以實現在消息發送、消息消費前后記錄消息軌跡,為了不明顯增加消息發送與消息消費的時延,記錄消息軌跡最好使用異步發送模式。    

如何存儲消息軌跡數據

消息軌跡需要存儲什么消息以及在什么時候記錄消息軌跡的問題都以及解決,那接下來就得思考將消息軌跡存儲在哪里?存儲在數據庫中或其他媒介中,都會加重消息中間件,使其依賴外部組件,最佳的選擇還是存儲在Broker服務器中,將消息軌跡數據也當成一條消息存儲到Broker服務器。

既然把消息軌跡當成消息存儲在Broker服務器,那存儲消息軌跡的Topic如何確定呢?RocketMQ提供了兩種方法來定義消息軌跡的Topic。

  • 系統默認Topic
    如果Broker的traceTopicEnable配置設置為true,表示在該Broker上創建topic名為:RMQ_SYS_TRACE_TOPIC,隊列個數為1,默認該值為false,表示該Broker不承載系統自定義用于存儲消息軌跡的topic。

  • 自定義Topic
    在創建消息生產者或消息消費者時,可以通過參數自定義用于記錄消息軌跡的Topic名稱,不過要注意的是,rokcetmq控制臺(rocketmq-console)中只支持配置一個消息軌跡Topic,故自定義Topic,在目前這個階段或許還不是一個最佳實踐,建議使用系統默認的Topic即可。

通常為了避免消息軌跡的數據與正常的業務數據混合在一起,官方建議,在Broker集群中,新增加一臺機器,只在這臺機器上開啟消息軌跡跟蹤,這樣該集群內的消息軌跡數據只會發送到這一臺Broker服務器上,并不會增加集群內原先業務Broker的負載壓力。

以上就是如何進行RocketMQ消息軌跡的分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天峨县| 安仁县| 民县| 丹东市| 吕梁市| 吐鲁番市| 万盛区| 高安市| 淳化县| 汤阴县| 家居| 井冈山市| 凤翔县| 星座| 牡丹江市| 增城市| 英吉沙县| 房产| 陵水| 桃园县| 佳木斯市| 长泰县| 锦州市| 文水县| 迁西县| 黔东| 垫江县| 大足县| 泗水县| 清丰县| 穆棱市| 托克逊县| 突泉县| 酒泉市| 宾阳县| 泰州市| 晋州市| 荥阳市| 定安县| 宜州市| 乐都县|