RocketMQ架构
生产者
注册中心(NameServer)中记录着所有Broker集群的信息 生产者从NS中通过负载均衡机制获取某一个Broker集群 生产者往这个Broker集群的指定队列中投递消息 投递的过程支持快速失败和低延迟
消费者
支持两种模式 a、消费者从队列中pull 拉取消息 b、队列给消费者push 推送消息
提供消息实时订阅机制
集群模式
一个消息只能被集群中的一个消费者消费
广播模式
集群中的每个消费者都会消费
NameServer
支持Broker动态注册与发现
a、每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息 b、ns各实例间相互不进行信息通讯 做灾备使用
BrokerServer
主要功能
重要子模块
路由模块
负责处理客户端请求
客户端模块
负责管理生产者/消费者和维护topic订阅消息
存储服务
提供API接口处理消息存储到物理硬盘和查询功能
高可用服务
提供Master Broker 和 Slave Broker之间的数据同步功能