【kafka】kafka如何保证数据的可靠性,kafka如何保证数据不丢失

1. Kafka架构:

Producer - Broker - Consumer

回到问题上来,Kafka如何保证数据不丢失,我们先看看Kafka如何保证Producer端数据不丢失: 通过ack机制 + 最小副本数设置+ 生产者重试机制

2. Kafka Producer消息发送ACK机制:

ACK机制:

问个问题:Kafka什么时候会丢失数据?

  1. 情况一,Producer向kafka发送消息的时候,ack设置的是0,(0就是producer向broker发生数据后,不需要ack确认)如果这个时候broker leader节点宕机,这个时候数据在broker leader中还没有存储,也没有同步到broker follower节点中,数据就会丢失。

Producer默认的ack确认值是-1,就是leader接收消息后发生ack确认给producer。

  1. 情况二,Producer向Kafka发生消息的时候,由于Kafka先将数据存储在Block cache中,当cache满了才刷到磁盘上。如果这个时候整个kafka集群整体出现故障,那也会导致数据丢失。
相关推荐
三十..35 分钟前
Ceph分布式存储核心技术精要与运维实践指南
运维·分布式·ceph
cfm_29145 小时前
Redis高并发分布式锁了解
redis·分布式
小小编程路6 小时前
分布式核心知识
分布式
bukeyiwanshui6 小时前
20260528 Ceph 分布式存储 集群配置
分布式·ceph
西安邮电大学6 小时前
Kafka保证消息顺序性
java·后端·kafka
我叫张小白。7 小时前
基于Redis与FastAPI的分布式共享会话体系
数据库·redis·分布式·缓存·中间件·fastapi·依赖注入
天河归来7 小时前
国产数据库安全可靠测评产品观察:从集中式、分布式到 HTAP 的发展趋势
数据库·分布式
Devin~Y7 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 可观测性 + RAG/Agent(小Y翻车版)
java·spring boot·redis·spring cloud·kafka·kubernetes·mybatis
小碗羊肉7 小时前
【Redis | 第五篇】分布式锁
数据库·redis·分布式
运维栈记7 小时前
Ceph 入门:一文读懂分布式存储的“瑞士军刀”
分布式·ceph