kafka事务消息与Epoch
Kafka 中 **Producer Epoch(生产者版本号)** 是保障分布式系统一致性的关键机制,它与 Producer ID(PID)共同作用,解决了生产者实例生命周期中的多个核心问题。 --- ### **1. 防止“僵尸生产者”干扰(实例隔离)** • **场景**:生产者因网络闪断或宕机后快速重启,旧实例可能仍在发送未完成的消息(如重试中的请求)。若新旧实例同时存在,会导致消息重复或乱序。 • **Epoch 的作用**: • 每次生产者**初始化**(如重启、新建会话)时,Epoch 会**单调递增**。 • Broker 会记录当前活跃生产者实例的 PID + Epoch 组合。若收到旧 Epoch 实例的消息,直接拒绝处理。 • **示例**:若旧实例 Epoch=2 发...阅读全文

