 Apache RocketMQ 从入门到实战当主服务器宕机后则消息消费端会向从服务器反馈消息消费进度,此时消息消费进度如 何存储,当主服务器恢复正常后,主服务器如何得知最新的消息消费进度。 为了解开上述两个疑问,我们优先来看一下 Broker 服务器在收到提交消息消费进度反 馈命令后的处理逻辑: 客户端定时向 Broker 端发送更新消息消费进度的请求,其入口为:RemoteBroker OffsetStore#updateConsumeOffsetToBroker,该方法中一个非常关键的点是:选择 提供了两种机制来确保 不丢失消息消费进度。 第一种,消息消费者在内存中存在最新的消息消费进度,继续以该进度去服务器拉取消 息后,消息处理完后,会定时向 Broker 服务器反馈消息消费进度,在上面也提到过,在反 馈消息消费进度时,会优先选择主服务器,此时主服务器的消息消费进度就立马更新了,从 服务器此时只需定时同步主服务器的消息消费进度即可。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战当主服务器宕机后则消息消费端会向从服务器反馈消息消费进度,此时消息消费进度如 何存储,当主服务器恢复正常后,主服务器如何得知最新的消息消费进度。 为了解开上述两个疑问,我们优先来看一下 Broker 服务器在收到提交消息消费进度反 馈命令后的处理逻辑: 客户端定时向 Broker 端发送更新消息消费进度的请求,其入口为:RemoteBroker OffsetStore#updateConsumeOffsetToBroker,该方法中一个非常关键的点是:选择 提供了两种机制来确保 不丢失消息消费进度。 第一种,消息消费者在内存中存在最新的消息消费进度,继续以该进度去服务器拉取消 息后,消息处理完后,会定时向 Broker 服务器反馈消息消费进度,在上面也提到过,在反 馈消息消费进度时,会优先选择主服务器,此时主服务器的消息消费进度就立马更新了,从 服务器此时只需定时同步主服务器的消息消费进度即可。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。0 码力 | 165 页 | 12.53 MB | 1 年前3
共 1 条
- 1













