Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

回调方法中的参数Exception e如果为空

代表发送成功,如果不为空代表发送失败出现异常

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

leader负责读写,而follower只负责数据同步

broker确认机制

生产者向broker发送消息存在发送确认机制acks

acks=0,生产者不会等待broker响应
acks=1(默认),只要leader收到消息就会响应
acks=all,只有全部节点都收到消息,才会响应

消费者接受消息丢失

每一个分区只能由一个消费者进行消费,分区中根据偏移量记录消费的进度,按照偏移量进行消费

每个消费者会自动按时提交偏移量

如果在提交之前宕机,就有可能出现重复消费

如果在消费之前提交然后宕机,就有可能出现丢失数据的情况

解决方案

禁用自动提交偏移量,改为手动提交

可以使用同步提交,异步提交或者同步+异步的方式组合提交

相关推荐
面向Google编程5 小时前
从零学习Kafka:生产者压缩
大数据·kafka
原来是猿5 小时前
服务端高并发分布式结构演进之路
分布式
Jackeyzhe5 小时前
从零学习Kafka:生产者压缩
kafka
LoneEon6 小时前
Kafka集群搭建指南:KRaft模式彻底摒弃Zookeeper
分布式·kafka·centos
薪火铺子6 小时前
分布式锁深度实战:从 Redis 到 Zookeeper 深度解析
redis·分布式·zookeeper
敖正炀7 小时前
Kafka 事务与 Exactly-Once 语义深度验证平台:分布式转账系统
kafka
敖正炀7 小时前
Kafka Streams 实时风控与异常检测系统
kafka
Devin~Y7 小时前
大厂Java面试实战:Spring Boot/Cloud、Redis/Kafka、JVM调优与Spring AI RAG(内容社区UGC+AIGC客服场景)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
学习中.........7 小时前
高并发架构下的 Kafka 与消息队列核心机制
分布式·kafka
Han.miracle7 小时前
分布式部署项目
分布式