Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
Wang's Blog7 小时前
Kafka: 消费者核心机制
分布式·kafka
学海_无涯_苦作舟10 小时前
分布式事务的解决方案
分布式
ZePingPingZe11 小时前
秒杀-库存超卖&流量削峰
java·分布式
Wang's Blog13 小时前
Kafka: HTTPS证书申请集成指南
分布式·https·kafka
Wang's Blog15 小时前
Kafka: 消费者高级实践之分区控制、多线程处理与 Offset 管理
分布式·kafka
老鱼说AI16 小时前
经典论文精读第一期:DeepSeek-R1-Zero ——RL奇迹
人工智能·分布式·深度学习·神经网络·自然语言处理·nlp·transformer
闲人编程17 小时前
OpenTelemetry分布式追踪
分布式·wpf·trace·追踪·open telemetry·codecapsule
BUTCHER518 小时前
【漏洞扫描】ZooKeeper 未授权访问
分布式·zookeeper·云原生
苦学编程的谢18 小时前
RabbitMQ_9_RabbitMQ应用问题
分布式·rabbitmq
武子康18 小时前
大数据-192 DataX 3.0 架构与实战:Reader/Writer 插件模型、Job/TaskGroup 调度、speed/errorLimit 配置速
大数据·分布式·后端