赞
踩
我们都知道,为了保证MQ的数据不丢失而且具备一定的高可用性,一般都是得将Broker部署成Master-Slave模式的,也就是一个Master Broker对应一个Slave Broker。
然后Master需要在接收到消息之后,将数据同步给Slave,这样一旦Master Broker挂了,还有Slave上有一份数据。
那么Master Broker是如何将消息同步给Slave Broker的?是Master Broker主动推送给Slave Broker?还是Slave Broker发送请求到Master Broker去拉取?
答案是第二种,RocketMQ的Master-Slave模式采用的是Slave Broker不停的发送请求到Master Broker去拉取消息。
所以首先要明白这一点,就是RocketMQ自身的Master-Slave模式采取的是Pull模式拉取消息。
既然Master Broker主要是接收系统的消息写入,然后会同步给Slave Broker,那么其实本质上Slave Broker也应该有一份一样的数据。
那么作为消费者的系统在获取消息的时候,是从Master Broker上获取的,还是从Slave Broker上获取的?答案是有可能从Master Broker获取消息,也有可能从Sl
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。