Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
@土豆34 分钟前
Kafka on Kubernetes 有状态应用部署文档(KRaft 模式)
分布式·kafka·kubernetes
肥猪猪爸36 分钟前
数据库 2PC 极简流程图
java·数据库·分布式·mysql·分布式事务·2pc
斯普信专业组2 小时前
Kafka集群数据迁移方案:基于多Listener配置的集群迁移实践指南
分布式·kafka
only-qi2 小时前
RabbitMQ 深度解析:从架构原理到消息全链路可靠性保障
分布式·架构·rabbitmq
隔壁小邓4 小时前
TIDB分布式数据库
数据库·分布式·tidb
蜜獾云4 小时前
Kafka(2)-kafka架构-基本原理
分布式·架构·kafka
隔叶听风4 小时前
RocketMQ 与 Kafka 长轮询详解
数据库·kafka·rocketmq
IvanCodes4 小时前
二、Kafka核心架构与分布式存储
大数据·分布式·架构·kafka
indexsunny4 小时前
互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用解析
java·spring boot·面试·kafka·spring security·电商·microservices
空空潍4 小时前
【超详细】RabbitMQ安装延迟消息插件
分布式·rabbitmq