首页 > 解决方案 > Kafka事务超时与事务ID到期

问题描述

我试图了解属性(max.)transaction.timeout.mstransaction.id.expiration.timeout.

据我了解,如果生产者在超时(默认 60 秒)内未发送更新,则前者将终止事务,而如果在超时(默认 7 天)内未发送更新,则后者将终止生产者事务 ID .

我的问题是:为什么两者都存在以及为什么它们具有非常不同的默认值?我认为因为如果生产者不发送事务更新,则事务在第一次超时后被终止,如果生产者继续不发送任何更新,则在第二次超时后,生产者事务 ID 也会被淘汰。否则我将无法理解第二次超时是如何发生的,因为第一次超时已经关闭了事务。

我错过了什么吗?

标签: apache-kafkatransactionsapache-kafka-streams

解决方案


推荐阅读