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

1 生产者

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

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

2 消费者

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

解决:

  • 消费者自身要做好分情况异常处理;
  • 需要有幂等处理逻辑,可以用id号等。
相关推荐
冷崖10 小时前
消息队列-kafka(一)
分布式·kafka
不光头强13 小时前
kafka学习要点
分布式·学习·kafka
编程彩机13 小时前
互联网大厂Java面试:从分布式缓存到消息队列的技术场景解析
java·redis·面试·kafka·消息队列·微服务架构·分布式缓存
難釋懷14 小时前
分布式锁-redission可重入锁原理
分布式
珠海西格14 小时前
远动通信装置为何是电网安全运行的“神经中枢”?
大数据·服务器·网络·数据库·分布式·安全·区块链
CTO Plus技术服务中15 小时前
分布式存储HBase开发与运维教程
运维·分布式·hbase
indexsunny15 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Kafka消息队列应用解析
java·数据库·spring boot·微服务·面试·kafka·jpa
飞乐鸟16 小时前
Github 16.8k Star!推荐一款开源的高性能分布式对象存储系统!
分布式·开源·github
panzer_maus17 小时前
分布式锁的概念
分布式
Lansonli17 小时前
大数据Spark(七十九):Action行动算子countByKey和countByValue使用案例
大数据·分布式·spark