Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
2301_800050997 小时前
ceph分布式存储
笔记·分布式·ceph
YDS8298 小时前
SpringCloud —— 分布式事务管理Seata详解
分布式·spring·spring cloud·seata
回家路上绕了弯9 小时前
分布式系统重试策略详解:可靠性与资源消耗的平衡艺术
分布式·后端
无名小卒Rain10 小时前
Jmeter性能测试-分布式压测配置和执行过程
分布式·jmeter
a程序小傲10 小时前
蚂蚁Java面试被问:分布式Session的实现方案
java·分布式·面试
a努力。10 小时前
京东Java面试:如何设计一个分布式ID生成器
java·分布式·后端·面试
前端世界10 小时前
HarmonyOS 分布式硬件实战指南:从原理到可运行 Demo
分布式·华为·harmonyos
汪不止10 小时前
【 分布式唯一业务单号生成方案:Redis + 数据库双保险架构】
数据库·redis·分布式
是阿威啊11 小时前
【maap-analysis】spark离线数仓项目完整的开发流程
大数据·分布式·spark·scala