导图社区 RocketMQ
RocketMQ是一款由阿里巴巴开发并开源的、基于Java开发的分布式消息中间件,旨在提供高性能、高可靠、高实时、分布式消息队列服务。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
RocketMQ
源码核心模块
rocketmq-broker
rocketmq-client
rocketmq-namesrv
rocketmq-common
rocketmq-remoting
rocketmq-store
rocketmq-filtersrv
rocketmq-tools
核心组件
NameServer
元数据的管理,包括对topic和路由信息的管理
Broker
消息中转角色,负责存储消息,转发消息
Producer
消息生产者,一般是业务系统负责产生消息
发送消息方式
同步(等待回应)
重要知( 邮件通知、销短信)
异步
单向(不等待回应没有)
日志收集
Consumer
消费者,一般是后台系统负责异步消费
消费者模式
Clustering
Broadcasting
Message Order
Orderly(顺序的)
Concurently(并发的)
消费模式
PUSH(推)
PULL拉)
消息相关
消息去重
幂等性
去重策略(消息表、唯一流水号)
消息重复
消息投递的Qos(Quality of Service)
At most once
At least once(大部分以这个标准)
网络原因闪断抖动
Exactly once
消息的可用性
存储
同步刷盘
异步刷盘
复制
分布式事务
半消息
消息回复
消息堆积
消息堆积到内存中(内存满)
消息堆积到持久化存系统
回溯消费
定时消息
不支持任意时间精度
消息过滤
Broker端消息过滤
缺点:加broker负载
Consumer请消息过滤
缺点:无用消息网络传输
消息领域模型
Message
Topic
Tag
Group
ProducerGroup
ConsumerGroup
Queue
MessageQueue
消息的物理理单位
特点
使得消息的存储可以分布式的集群化
具有水平扩展能力
一个Queue只能被一个消费者消费(集群模式消费)
CommitLog
变长的实际消息单元
消息体内容
消息体长度
topic名称
queueId
。。。
ConsumeQueue
定长单元20个byte
(Long)Offset
(Int)每个消息长度Size
(Long)指定code过活tagsCode
通信流程
producer
Broker Master
Broker Slaver
心跳、注册topic
心跳、发送信息到master
NameServer集群
获取topic信息