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

1 生产者

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

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

2 消费者

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

解决:

  • 消费者自身要做好分情况异常处理;
  • 需要有幂等处理逻辑,可以用id号等。
相关推荐
逐流人17 分钟前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
天天喝旺仔3 小时前
gRPC 底层原理:HTTP/2 多路复用、Protobuf 序列化与四种流模式
分布式·http·微服务·rpc
灯澜忆梦6 小时前
【RabbitMQ #5】 | 三大交换机 Fanout ,Direct ,Topic
分布式·rabbitmq·ruby
筑梦之路8 小时前
K8S yaml文件部署kafka集群(Kraft模式)——筑梦之路
容器·kafka·kubernetes
.冰块.8 小时前
Ceph 分布式存储实战(二):存储池管理与 cephx 认证授权
分布式·ceph·rados·纠删码·复本池·cephx认证与用户权限
我们从未走散10 小时前
从内存字典到租约内核:分布式上游账号池如何做到不超卖
分布式
筑梦之路11 小时前
Kafka KRaft 模式 Kubernetes 部署手册(StatefulSet + apache/kafka 官方镜像)——筑梦之路
kafka·kubernetes·apache
.冰块.11 小时前
Ceph 分布式存储实战(一):架构入门与 cephadm 集群部署
分布式·ceph·架构·cephadm
j7~12 小时前
【Redis】《一文走完服务端高并发架构演进:从单机架构到 K8S 容器编排》
分布式·架构演进·服务端高并发分布式结构演进之路·架构基本概念·架构评价指标