Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
BD_Marathon33 分钟前
【Zookeeper】Zookeeper内部的数据模型
linux·分布式·zookeeper
最笨的羊羊34 分钟前
Flink CDC系列之:Kafka 数据接收器配置选项类KafkaDataSinkOptions
kafka·flink cdc系列·kafkadata·数据接收器配置选项类·sinkoptions
w***z501 小时前
分布式多卡训练(DDP)踩坑
分布式
h***59331 小时前
分布式与集群,二者区别是什么?
分布式
lucky_syq1 小时前
深入Spark核心:Shuffle全剖析与实战指南
大数据·分布式·python·spark
GIOTTO情1 小时前
技术深度拆解:Infoseek 媒体发布系统的分布式架构与自动化实现
分布式·架构·媒体
一个帅气昵称啊1 小时前
在.NET中如何优雅的使用DotNetCore.CAP实现分布式事务,事件总线和消息最终一致性
分布式·微服务·.net
o***Z4482 小时前
后端在分布式中的服务调用
分布式
青衫码上行2 小时前
分布式版本控制系统Git的安装和使用
分布式·git·svn
u***27612 小时前
分布式监控Skywalking安装及使用教程(保姆级教程)
分布式·skywalking