大神请教下 , rocketmq为啥不直接就读从呢 , 而是在冷读时候才选择读从 . 这样主节点压力不是很大吗
低延迟感觉是最大的优势吧。主从同步有时差, 延迟比直接读master大。 一般的, 读写的数据都在内存中, 效率和延迟都是杠杠的,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
RocketMQ在读取消息时,会优先从主节点读取,因为主节点的数据是最新的。但是在某些情况下,主节点可能会出现故障或网络延迟等问题,导致主节点无法及时响应客户端请求。为了保证消息的可靠性和高可用性,RocketMQ会在主节点无法响应时,才会选择从节点进行消息读取。
此外,RocketMQ还提供了一些负载均衡策略,可以根据不同的场景选择不同的策略来平衡主从节点的负载,减轻主节点的压力。因此,RocketMQ的设计可以在保证消息可靠性和高可用性的同时,也能够有效地减轻主节点的压力。
因为直接从从节点读可能会有延迟,可以了解下主从的原理,一般主都是先落磁盘才会去复制到从节点,再加上如果复制过程中有阻塞,那直接从从读就会有延迟了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/