[ RocketMQ源码阅读 2 ] RocketMQ主要组件

我选择的源码版本是5.1.4 源码地址来进行学习,如下是来自官方的架构图

架构图

按照5.0弹性无状态代理模式的架构图,我们可以将RocketMQ 分为如下主要模块:

  1. Console/MqAdmin

  2. Proxy

  3. Broker (local模式下与Proxy部署在同一个进程,cluster模式下和Proxy分为两个进程部署)

  4. NameServer

  5. Controller(ControllerManager) 可以和NameServer部署在同一个进程

该组件使得RocketMQ具有,主备自动切换的能力。

6.各种语言的Client

各个组件的功能作用,后面再一个个分析和解释。但我想有些中间件和架构爱好者看这个图,就能大概知道各个组件有啥用途。