Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
feathered-feathered1 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
lang201509281 小时前
深入解析Kafka Broker核心读写机制
分布式·kafka
lang201509282 小时前
Kafka高水位与日志末端偏移量解析
分布式·kafka
Tadas-Gao2 小时前
GraphQL:下一代API架构的设计哲学与实践创新
java·分布式·后端·微服务·架构·graphql
lang201509283 小时前
Kafka副本管理核心:ReplicaManager揭秘
分布式·kafka·linq
GGBondlctrl5 小时前
【Redis】从单机架构到分布式,回溯架构的成长设计美学
分布式·缓存·架构·微服务架构·单机架构
编织幻境的妖6 小时前
Zookeeper在大数据集群中的作用详解
大数据·分布式·zookeeper
beijingliushao6 小时前
102-Spark之Standalone环境安装步骤-2
大数据·分布式·spark
acrelgxy6 小时前
告别盲测,预见温度:安科瑞如何用无线技术革新变电站安全
分布式·安全·电力监控系统·智能电力仪表
Wang's Blog7 小时前
RabbitMQ: 全面安装与运维指南之从基础部署到高级配置
运维·分布式·rabbitmq