组件:
nameSrv作用:
| 1 | 1.加载kv配置、创建nettyServer网络处理对象、 | 
NameSrv功能实现
| 1 | 1. 路由注册、故障剔除 | 
Borker:
| 1 | 提供消息存储、 | 
Producer启动流程
| 1 | 1. 检查producerGroup是否符合要求、改变生产者的instanceName为进程id | 
消息发送过程
| 1 | 支持3种方式: 同步sync、异步async、单向oneway | 
Consumer消息消费
| 1 | 集群模式: 同一topic下一条消息只能允许被其中一个消费者消费、消费进度保存在broker端 | 
消费者启动流程
| 1 | 1. 构建订阅主题信息SubscriptionData并加入到RebalanceImpl的订阅消息中、订阅关系来自: | 
消息可用性保障
| 1 | 1. Broker 正常关机 | 
消息延迟
| 1 | 在正常不发生消息堆积的情况下、以长轮询方式实现准实时消息推送 | 
消息堆积
| 1 | rocketmq消息存储使用磁盘文件(内存映射)并且在物理布局上为多个大小相等的文件组成逻辑文件组、可无限循环使用、提供消息过期机制、默认保留3天 | 
消息过滤:
| 1 | 1. broker端过滤、 | 
msg status 说明:
| 1 | SEND_OK, // 发送成功 | 
疑问
| 1 | 1. broker收到消息会先写commitlog、为什么producer发消息的时候会选择一个Queue去发 ?而不是broker ?再由broker分发到Queue ? |