kafka为什么不支持读写分离?

kafka为什么不支持读写分离?

在kafka中,生产者写入消息,消费者读取消息的操作都是与 leader 副本进行交互的,从而实现的是一种主写主读的生产消费模型。kafka不支持读写分离,也就是主写从读。

读写分离有以下不足:

(1) 主从延时。类似 Redis ,数据从写入主节点,再同步到从节点中的过程需要耗费一些时间。如果对延时的要求比较高,读写分离并不太适用。

(2) 数据一致性问题。由于主节点数据同步到从节点,需要一定时间。主从节点之间的数据不一定会一致。

kafka 只支持主写主读,有几个优点:

(1) 负载均衡。

读写分离可以均摊一定的负载,却不能做到完全的负载均衡,比如对于写压力很大而读压力很小的情况,从节点只能分摊很少的负载压力,而绝大部分压力还是主节点上。而kafka 的主写主读,可以做到负载均衡。

(2) 没有主从延时的影响。

(3) 副本稳定的情况下,不会出现数据不一定的情况。

资料来源:

《深入理解kafka :核心设计与实践原理》

相关推荐
半桶水专家30 分钟前
Kafka 性能瓶颈 → JMX 指标对照表
分布式·kafka
Jack_David5 小时前
Kafka批量消息发送
java·分布式·kafka
0xDevNull6 小时前
Apache Kafka 完全指南
分布式·kafka
半桶水专家8 小时前
Kafka JMX详解
分布式·kafka
y = xⁿ10 小时前
重生之我创作出了小红书:计数模块 SDS 位图分片与偏移 异步发送
后端·kafka·intellij-idea
阿里云云原生1 天前
悠悠有品:RocketMQ 稳扛核心交易,Kafka 驱动海量数据,支撑高并发游戏饰品交易平台
kafka·rocketmq
若鱼19191 天前
SpringBoot4+Kafka4 - 生产环境故障 - 消费者执行时间太长导致消息无限循环投递
java·spring·kafka
一叶飘零_sweeeet1 天前
消息队列选型终极指南:Kafka、RocketMQ、RabbitMQ 底层原理与场景化选型全解
架构·kafka·rabbitmq·rocketmq·消息队列选型
heimeiyingwang1 天前
【架构实战】消息队列 Kafka 架构分析
架构·kafka·linq
一叶飘零_sweeeet1 天前
中间件:高可用、高性能、可扩展三大核心设计原则
中间件·架构·kafka