和broker自己本身相關(guān)的組件
- BrokerController
- BrokerStatsManager
- BrokerFastFailure
和remoting相關(guān)的組件
- NettyServer
- NettyClient
和消息存儲(chǔ)相關(guān)的組件
- MessageStore
和consumer 相關(guān)的組件
- ConsumerOffsetManager
- ConsumerManager
- ConsumerFilterManager
- SubscriptionGroupManager
- PullMessageProcessor
- PullRequestHoldService
- ConsumerIdsChangeListener
和producer 相關(guān)的組件
- ProducerManager
和 cluster 相關(guān)的組件
- RebalanceLockManager
- SlaveSynchronize
- slaveSyncFuture
和 transaction 有關(guān)的組件
- TransactionalMessageCheckService
- TransactionalMessageService
- AbstractTransactionalMessageCheckListener
broker持有的成員變量
- storeHost
- brokerStats
- brokerFastFailure
- configuration
和produce/consume 相對(duì)應(yīng)的hook
- consumeMessageHookList
- sendMessageHookList
其他不是很明顯的,尚待分類(lèi)的
- Broker2Client
- MessageArrivingListener
- ClientHousekeepingService
- BrokerOuterAPI
- FilterServerManager
- FileWatchService
一些重要方法
- brokerRegisterAll
- registerIncrementalBrokerData
一些和broker角色有關(guān)的方法
- handleSlaveSynchronize
- changeToSlave
- changeToMaster
- startProcessorByHa
- shutdownProcessorByHa
我們首先得看RocketMQ broker 支持哪幾種命令,給每一類(lèi)命令相應(yīng)的Processor都配了專(zhuān)門(mén)的ExecutorService
- TransactionalMessageCheckService
- TransactionalMessageService