Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
ChaITSimpleLove10 小时前
基于 .NET Garnet 1.0.91 实现高性能分布式锁(使用 Lua 脚本)
分布式·.net·lua
原神启动112 小时前
Kafka详解
分布式·kafka
yumgpkpm12 小时前
Iceberg在Hadoop集群使用步骤(适配AI大模型)
大数据·hadoop·分布式·华为·zookeeper·开源·cloudera
元气满满-樱14 小时前
分布式LNMP部署
分布式
Wang's Blog15 小时前
RabbitMQ: 声明式配置简化管理
分布式·rabbitmq
叫致寒吧15 小时前
zookeeper与kafka
分布式·zookeeper·云原生
赵得C15 小时前
2025下半年软件设计师考前几页纸
java·开发语言·分布式·设计模式·性能优化·软考·软件设计师
西***634716 小时前
全场景覆盖・全流程智控:分布式解决方案让多功能厅 “不止于多”
分布式
一只懒鱼a16 小时前
搭建kafka集群(安装包 + docker方式)
运维·容器·kafka
踏浪无痕16 小时前
Nacos到底是AP还是CP?一文说清楚
分布式·后端·面试