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

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

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

读写分离有以下不足:

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

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

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

(1) 负载均衡。

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

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

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

资料来源:

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

相关推荐
Devin~Y4 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 与 Spring AI(RAG/Agent)三轮连环问
java·spring boot·redis·mysql·spring cloud·kafka·kubernetes
frankfishinwater18 小时前
Kafka 代码架构分析
分布式·架构·kafka
隔壁寝室老吴2 天前
使用Flink2.0消费低版本的Kafka
分布式·kafka
indexsunny2 天前
互联网大厂Java面试实战:Spring Boot微服务与Kafka消息队列深度解析
java·spring boot·微服务·面试·kafka·消息队列·电商
富士康质检员张全蛋2 天前
Kafka架构 主题中的分区
分布式·kafka
富士康质检员张全蛋2 天前
kafka 环境部署
分布式·kafka
富士康质检员张全蛋2 天前
Kafka架构 Kafka核心概念
kafka
FL4m3Y4n2 天前
分布式消息推送系统协议设计【C++ grpc kafka】
c++·分布式·kafka
小的~~2 天前
Kafka消费端周期性停顿,导致工厂设备甘特图失准
kafka·linq·甘特图
江畔何人初2 天前
Kafka 消息队列概念及与RabbitMQ 的区别
运维·服务器·分布式·云原生·kafka·rabbitmq