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

1 生产者

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

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

2 消费者

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

解决:

  • 消费者自身要做好分情况异常处理;
  • 需要有幂等处理逻辑,可以用id号等。
相关推荐
刘~浪地球11 小时前
消息队列--RabbitMQ 高可用集群部署
分布式·rabbitmq·ruby
武子康11 小时前
大数据-266 实时数仓-Canal + Kafka 实现 MySQL 数据库变更实时捕获
大数据·后端·kafka
creator_Li11 小时前
Kafka 全面技术笔记
笔记·学习·kafka
Albert Edison13 小时前
【RabbitMQ】快速入门
java·分布式·rabbitmq
想你依然心痛13 小时前
HarmonyOS 5.0医疗健康开发实战:构建分布式健康监测与AI预警系统
人工智能·分布式·harmonyos
青春不流名13 小时前
kafka 集成OAUTHBEARER认证的例子
分布式·kafka
洛豳枭薰13 小时前
kafka重平衡导致的消息重复消费或者消息丢失
分布式·kafka
rannn_11113 小时前
【Redis|高级篇1】分布式缓存|持久化(RDB、AOF)、主从集群、哨兵、分片集群
java·redis·分布式·后端·缓存
014-code13 小时前
rabbitmq消息积压:如何快速排查与处理
分布式·rabbitmq
rchmin13 小时前
阿里Tair分布式锁与Redis分布式锁的实现区别
数据库·redis·分布式