我试图了解属性(max.)transaction.timeout.ms
和transaction.id.expiration.timeout
之间的区别。
据我了解,如果生产者未在其超时(默认60秒)内发送更新,则前者将杀死交易,而后者如果未在其超时内发送更新,则后者将杀死生产者交易ID(默认)。 7天)。
我的问题是:为什么两者都存在,为什么它们的默认值却大不相同?我认为,因为如果生产者未发送事务更新,则该事务将在第一次超时后被终止,并且如果生产者继续不发送任何更新,则在第二次超时后,生产者事务ID也将被淘汰。否则,我将不知道第二次超时如何发生,因为第一个超时已经关闭了事务。
我想念什么吗?