kafka--基础知识点--19--消息重复

1 生产者

acks = 1 或 -1,当消息已经写入leader或ISR中的folloer后,brocker给生产者发送确认响应后发送网络抖动或leader崩溃又崩溃重启,生产者发现没有确认响应再次发送,导致消息brocker中出现了两条重复的消息,重复发送导致。

解决: 精确一次发送方案 = (acks=-1) + 事务 + 重试

2 消费者

消费者设为手动提交时,当消费者消费完消息又因为其它异常情况进程中断导致没有提交偏移量,又重启消费者,再次拉取同一条消息进行消费,导致brocker中同一条消息被消费两次,重复消费导致。

解决:

  • 消费者自身要做好分情况异常处理;
  • 需要有幂等处理逻辑,可以用id号等。
相关推荐
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第190题】【08_Kafka篇】第6题:消息队列有什么作用?
java·kafka·消息队列·系统设计·分布式架构
风中凌乱8 小时前
kafka新版本集群的安装与部署
分布式·kafka
SLD_Allen9 小时前
大规模分布式AI训练基础设施
人工智能·分布式·模型训练
abcy0712139 小时前
kafka消息丢失与消息重复消费
kafka
富士康质检员张全蛋10 小时前
Kafka的操作-消费的详情
分布式·kafka
昕光xg11 小时前
Istio笔记04-基于Jaeger的分布式链路追踪
笔记·分布式·istio
wWYy.1 天前
分布式:数据复制
分布式
正儿八经的少年1 天前
分布式 ID
分布式
七夜zippoe1 天前
深入解析CANN仓库中的HCCL分布式通信库
pytorch·分布式·cann·hccl·通信库
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第188题】【08_Kafka篇】第4题:Kafka 大量消息积压时该如何处理?
java·性能优化·kafka·故障排查·消息积压