Broker
每台机器上部署的RocketMQ进程一般称之为Broker,每个Broker都会收到不同的消息,然后就会把这批消息存储在自己本地的磁盘文件里。
万一Broker宕机了怎么办?
RocketMQ的解决思路是Broker主从架构以及多副本策略。
Master Broker收到消息之后会同步给Slave Broker,这样Slave Broker上就能有一模一样的一份副本数据!
这样同一条消息在RocketMQ整个集群里不就有两个副本了,一个在Master Broker里,一个在Slave Broker里!
这个时候如果任何一个Master Broker出现故障,还有一个Slave Broker上有一份数据副本,可以保证数据不丢失,还能继续对外提供服务,保证了MQ的可靠性和高可用性
NameServer
然后对于我们的系统而言,如果他要发送消息到Broker,会找NameServer去获取路由信息,就是集群里有哪些Broker等信息。
如果系统要从Broker获取消息,也会找NameServer获取路由信息,去找到对应的Broker获取消息。