Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
用户3610588626124 小时前
深度拆解 Kafka 源码:Producer 构造器装配了哪些核心组件
kafka
方方洛5 小时前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
知识搬运临时工1 天前
Kafka 发 1 GiB 数据,用户态 CPU 只花 0.016 秒,总耗时反而慢了 11%
后端·kafka
方方洛1 天前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习
一条泥憨鱼2 天前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
斯普信专业组2 天前
Kafka 消费者 poll() 流程与原理详解
kafka·流程图
迅翼SwiftWing2 天前
编队系列(二)|固定翼如何依靠邻居信息保持队形?一致性控制、通信拓扑与分布式仿真实现,附仿真代码
分布式
ly76892 天前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界
qq_452396232 天前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生