僵尸隔离后自动增加TransactionId后缀

时间:2018-07-20 09:10:53

标签: apache-kafka

我正在卡夫卡(Kafka)交易中探索Zombie Fencing。

  1. 生产者A具有transaction.id前缀myId,Kafka加0作为后缀。结果为transaction.id myId0

  2. 具有transaction.id myId0的生产者A被宣告死亡。

  3. 生产者B已启动,并被分配了具有新纪元的transaction.id myId0

  4. 生产者A已恢复,但被Kafka拒绝,因为生产者B具有相同的transaction.id,但时期较新。

  5. 生产者A尝试发送新消息,并且Kafka增加了transaction.id后缀,结果为myId1

生产者A具有transaction.id myId1

生产者B具有transaction.id myId0

为生产者B分配了相同的transaction.id,并带有一个新的时期,以避免两个消费者重复输出。

为生产者A分配了一个新的transaction.id,以便两个生产者都可以继续进行处理而不会互相干扰。

我理解这个概念正确吗?

0 个答案:

没有答案