概述 上一章中,已經介紹了 Broker 的文件系統的各個層次與部分細節,本章將繼續了解在邏輯存儲層的三個文件 CommitLog、IndexFile、ConsumerQueue 的一些細節。文章最后,還會對比下 RocketMQ 和 Kafka 的持久化結構與設計的合理性 ...
概述 在上一節 RocketMQ源碼詳解 Producer篇 其二:消息組成 發送鏈路 中,我們終於將消息發送出了 Producer,在短暫的 tcp 握手后,很快它就會進入目的 Broker。這次我們來自底向上的看下 Broker 端是如何接收然后分發處理消息,同時了解 RocketMQ 的 Broker 的線程模型。 Netty 組件 如果你還記得上一節的內容的話那應該知道,NettyRomo ...
2021-10-29 16:21 0 256 推薦指數:
概述 上一章中,已經介紹了 Broker 的文件系統的各個層次與部分細節,本章將繼續了解在邏輯存儲層的三個文件 CommitLog、IndexFile、ConsumerQueue 的一些細節。文章最后,還會對比下 RocketMQ 和 Kafka 的持久化結構與設計的合理性 ...
概述 在 Broker 的通用請求處理器將一個消息進行分發后,就來到了 Broker 的專門處理消息存儲的業務處理器部分。本篇文章,我們將要探討關於 RocketMQ 高效的原因之一:文件結構的良好設計與對 Page Cache 的極致"壓榨"。 文件系統的結構設計 ...
broker消息接收,假設接收的是一個普通消息(即沒有事務),此處分析也只分析master上動作邏輯,不涉及ha。 1. 如何找到消息接收處理入口 可以通過broker的監聽端口10911順藤摸瓜式的找到 NettyClientConfig.setListenPort--> ...
概述 在上一節 RocketMQ源碼詳解 | Producer篇 · 其一:Start,然后 Send 一條消息 中,我們了解了 Producer 在發送消息的流程。這次我們再來具體下看消息的構成與其發送的鏈路 Message 在 RocketMQ 的使用中,Message 類是在發送 ...
概述 對於一個消息中間件來講,高可用功能是極其重要的,RocketMQ 當然也具有其對應的高可用方案。 在 RocketMQ 中,有主從架構和 Dledger 兩種高可用方案: 第一種通過主 Broker 將消息發送到從 Broker 實現高可用,在主 Broker IO 壓力大或宕機 ...
概述 在上文中,我們討論了消費者對於消息拉取的實現,對於 RocketMQ 這個黑盒的心臟部分,我們順着消息的發送流程已經將其剖析了大半部分。本章我們不妨乘勝追擊,接着討論各種不同的消息的原理與實現。 事務消息 概念 RocketMQ 中的事務消息功能,實際上是 分布式事務中的本地 ...
在RocketMQ中,使用BrokerStartup作為啟動類,相較於NameServer的啟動,Broker作為RocketMQ的核心可復雜得多 【RocketMQ中NameServer的啟動源碼分析】 主函數作為其啟動的入口 ...
本文將在 RocketMQ 消息發送system busy、broker busy原因分析與解決方案 的基礎上,結合生產上的日志嘗試再次理解 broker busy 以及探討解決方案。 首先,broker busy 相關的日志關鍵字如下: [REJECTREQUEST]system ...