我选择的源码版本是5.1.4 源码地址来进行学习,如下是来自官方的架构图
按照5.0弹性无状态代理模式的架构图,我们可以将RocketMQ 分为如下主要模块:
Console/MqAdmin
Proxy
Broker (local模式下与Proxy部署在同一个进程,cluster模式下和Proxy分为两个进程部署)
NameServer
Controller(ControllerManager) 可以和NameServer部署在同一个进程
该组件使得RocketMQ具有,主备自动切换的能力。
6.各种语言的Client
各个组件的功能作用,后面再一个个分析和解释。但我想有些中间件和架构爱好者看这个图,就能大概知道各个组件有啥用途。