原文:RocketMQ源碼詳解 | Broker篇 · 其一:線程模型與接收鏈路

概述 在上一節 RocketMQ源碼詳解 Producer篇 其二:消息組成 發送鏈路 中,我們終於將消息發送出了 Producer,在短暫的 tcp 握手后,很快它就會進入目的 Broker。這次我們來自底向上的看下 Broker 端是如何接收然后分發處理消息,同時了解 RocketMQ 的 Broker 的線程模型。 Netty 組件 如果你還記得上一節的內容的話那應該知道,NettyRomo ...

2021-10-29 16:21 0 256 推薦指數:

查看詳情

RocketMQ源碼詳解 | Broker · 其三:CommitLog、索引、消費隊列

概述 上一章中,已經介紹了 Broker 的文件系統的各個層次與部分細節,本章將繼續了解在邏輯存儲層的三個文件 CommitLog、IndexFile、ConsumerQueue 的一些細節。文章最后,還會對比下 RocketMQ 和 Kafka 的持久化結構與設計的合理性 ...

Mon Nov 08 00:31:00 CST 2021 0 1006
RocketMQ源碼詳解 | Broker · 其二:文件系統

概述 在 Broker 的通用請求處理器將一個消息進行分發后,就來到了 Broker 的專門處理消息存儲的業務處理器部分。本篇文章,我們將要探討關於 RocketMQ 高效的原因之一:文件結構的良好設計與對 Page Cache 的極致"壓榨"。 文件系統的結構設計 ...

Wed Nov 03 01:08:00 CST 2021 2 918
rocketmq源碼分析2-broker的消息接收

broker消息接收,假設接收的是一個普通消息(即沒有事務),此處分析也只分析master上動作邏輯,不涉及ha。 1. 如何找到消息接收處理入口 可以通過broker的監聽端口10911順藤摸瓜式的找到 NettyClientConfig.setListenPort--> ...

Mon Feb 06 03:37:00 CST 2017 0 1871
RocketMQ源碼詳解 | Producer · 其二:消息組成、發送鏈路

概述 在上一節 RocketMQ源碼詳解 | Producer · 其一:Start,然后 Send 一條消息 中,我們了解了 Producer 在發送消息的流程。這次我們再來具體下看消息的構成與其發送的鏈路 Message 在 RocketMQ 的使用中,Message 類是在發送 ...

Fri Oct 29 01:08:00 CST 2021 0 869
RocketMQ源碼詳解 | Broker · 其五:高可用之主從架構

概述 對於一個消息中間件來講,高可用功能是極其重要的,RocketMQ 當然也具有其對應的高可用方案。 在 RocketMQ 中,有主從架構和 Dledger 兩種高可用方案: 第一種通過主 Broker 將消息發送到從 Broker 實現高可用,在主 Broker IO 壓力大或宕機 ...

Sat Dec 18 02:24:00 CST 2021 0 246
RocketMQ源碼詳解 | Broker · 其四:事務消息、批量消息、延遲消息

概述 在上文中,我們討論了消費者對於消息拉取的實現,對於 RocketMQ 這個黑盒的心臟部分,我們順着消息的發送流程已經將其剖析了大半部分。本章我們不妨乘勝追擊,接着討論各種不同的消息的原理與實現。 事務消息 概念 RocketMQ 中的事務消息功能,實際上是 分布式事務中的本地 ...

Sat Nov 20 01:28:00 CST 2021 0 273
RocketMQBroker的啟動源碼分析(一)

RocketMQ中,使用BrokerStartup作為啟動類,相較於NameServer的啟動,Broker作為RocketMQ的核心可復雜得多 【RocketMQ中NameServer的啟動源碼分析】 主函數作為其啟動的入口 ...

Sun Aug 04 14:26:00 CST 2019 1 882
再談 RocketMQ broker busy(實戰)

本文將在 RocketMQ 消息發送system busy、broker busy原因分析與解決方案 的基礎上,結合生產上的日志嘗試再次理解 broker busy 以及探討解決方案。 首先,broker busy 相關的日志關鍵字如下: [REJECTREQUEST]system ...

Fri Dec 27 06:05:00 CST 2019 0 828
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM