Apache Kafka Exactly Once 事务 ID 如何影响新的获取请求生产者防护方法

How Apache Kafka Exactly Once transaction id impact on the new fetch request producer fencing approach

在早期版本的 Kafka 中,exactly-once 语义静态映射应该在消费者组不匹配期间在事务 ID 和主题分区之间进行,事务 ID 有可能获得不同的主题分区。

为了避免这种情况 KIP-447: Producer scalability for exactly once semantics 已实施,我从 KIP-477 了解到,旧生产者在新 API(sendOffsetToProdcuer ) 所以 transactio.id 不用于击剑。

但我的疑问是,

  1. 仍然是交易生产者期望transaction.id我应该如何为最新的Kafka版本选择这个值?

  2. transaction.id应该有分区的静态映射,fetch offset fencing只在consumer group rebalancing时生效?

  3. 这个值对最新版本无效吗?

请帮我解决这个问题,我正在尝试了解 Kafka EoS 并在生产系统中实施它。

既然你用 标记了它,我假设你正在使用它;每个实例的 transactional.id 现在可以不同(因为以前只需要生产者交易)。不再需要将 id 绑定到 group/topic/partition,并且需要的生产者数量要少得多。

https://docs.spring.io/spring-kafka/docs/current/reference/html/#exactly-once

经纪人需要 2.5 或更高版本。