Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
青灯文案142 分钟前
RabbitMQ 匿名队列详解
分布式·rabbitmq
中东大鹅1 小时前
MongoDB基本操作
数据库·分布式·mongodb·hbase
苏苏大大3 小时前
zookeeper
java·分布式·zookeeper·云原生
龙哥·三年风水3 小时前
openresty(nginx)+lua+kafka实现日志搜集系统
kafka·lua·openresty
Linux运维老纪4 小时前
分布式存储的技术选型之HDFS、Ceph、MinIO对比
大数据·分布式·ceph·hdfs·云原生·云计算·运维开发
问道飞鱼4 小时前
【Springboot知识】Springboot结合redis实现分布式锁
spring boot·redis·分布式
快乐就好ya5 小时前
xxl-job分布式定时任务
java·分布式·spring cloud·springboot
小韩学长yyds11 小时前
从入门到精通:RabbitMQ的深度探索与实战应用
分布式·rabbitmq
问道飞鱼17 小时前
【分布式知识】Spring Cloud Gateway实现跨集群应用访问
分布式·eureka·gateway
费曼乐园17 小时前
Kafka中bin目录下面kafka-run-class.sh脚本中的JAVA_HOME
java·kafka