Apache RocketMQ5中如果是1主2从.是不是从节点里的offset也要同步成功才不会发生这种情况?我看存储磁盘限制是85%,是不是到了这个点就不会持久化了?可以切换主从,可以切换主从的5.0.0版本?
在 Apache RocketMQ 5.x 中,如果使用主从同步模式,从节点的 offset 也要同步成功才能保证消息的可靠传输。如果从节点的 offset 同步失败或者延迟太大,就有可能导致消息的重复消费或者丢失。
另外,存储磁盘限制是指 Broker 所在机器磁盘使用率的上限,如果磁盘使用率达到了限制,就会触发磁盘满的保护机制,Broker 会停止接收新的消息,直到磁盘使用率降下来。在默认情况下,磁盘使用率达到 85% 时就会触发磁盘满的保护机制,可以通过修改 Broker 配置文件来调整这个阈值。
当然,如果主节点出现故障,也可以通过切换主从节点来保证消息的可靠传输。在 RocketMQ 5.0.0 版本中,已经支持了主从节点的动态切换,可以通过修改 Broker 配置文件或者使用 Admin API 来进行主从切换操作。具体操作可以参考官方文档:https://rocketmq.apache.org/docs/switch-broker-cn/
位点持久化跟磁盘限制无关的。不过主从间的消费位点同步以及消费位点本身的持久化都不是实时的,syncConsumerOffset(), 可以搜索下这个同步消费位点, 在下面三种情况会同步, 如果slave还没有来得记同步master的消费位点, master就挂了, 切换后, 可能出现重复情况哦。 1. 副本切换的时候会同步 2. 3s定时同步 3. 主从切换会同步,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/