rocketMq中的各部分概念组成
NameServer
NameServer也可以有多个
用来保存活跃的broker列表,包括Master和Slave
用来保存所有topic和该topic所有队列的列表
用来保存所有broker的Filter列表
记录维护Topic、Broker的信息,及监控Broker的运行状态
NameServer压⼒不会太⼤,平时主要开销是在维持⼼跳和提供Topic-Broker的关系数据
Broker向NameServer发⼼跳时, 会带上当前⾃⼰所负责的所有Topic信息
//自己:nameServer的存在原因之一是为了实现分布式?
Producer 在发送消息前会根据 Topic 到NameServer 获取到 Broker 的路由信息
Broken(消息代理?)
消息中转⻆⾊,负责存储消息,转发消息。
Broker可以有多个,但是每一个都要和所有的NameServer建立连接
每个Broker与Name Server集群中的所有节点建立长连接,定时注册Topic信息到所有Name Server
每个 Broker 在启动的时候会到 NameServer 注册
Producer 在发送消息前会根据 Topic 到NameServer 获取到 Broker 的路由信息
broken分为master和slave
Broker在RocketMQ中是进⾏处理Producer发送消息请求,Consumer消费消息的请求,并且进⾏消息的持久化