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

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

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

读写分离有以下不足:

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

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

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

(1) 负载均衡。

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

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

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

资料来源:

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

相关推荐
猿java14 小时前
使用 Kafka面临的挑战
java·后端·kafka
路上^_^14 小时前
00_概览_kafka
分布式·kafka
CopyLower1 天前
Kafka 消费者状态及高水位(High Watermark)详解
分布式·kafka
信徒_1 天前
kafka
分布式·kafka
灰色孤星A1 天前
Kafka学习笔记(三)Kafka分区和副本机制、自定义分区、消费者指定分区
zookeeper·kafka·kafka分区机制·kafka副本机制·kafka自定义分区
雪球不会消失了1 天前
Kafka快速入门
分布式·kafka
death bell3 天前
kafka基本概念以及用法
分布式·kafka·linq
空名_Noname3 天前
【转载翻译】消息队列 - ActiveMQ、RabbitMQ、Kafka、ZeroMQ
c++·kafka·rabbitmq·activemq·zeromq
漫无目的行走的月亮3 天前
使用微服务Spring Cloud集成Kafka实现异步通信(消费者)
spring cloud·微服务·kafka
静听山水3 天前
kafka测试
分布式·kafka