【发布时间】:2021-07-16 04:40:28
【问题描述】:
在早期版本的 Kafka 中,事务 ID 和主题分区之间的静态映射应该在消费者组不匹配期间具有一次性语义,因此事务 ID 有可能获得不同的主题分区。
为了避免这种情况 KIP-447: Producer scalability for exactly once semantics 已实施,我从 KIP-477 中了解到,旧生产者在新 API(sendOffsetToProdcuer) 的帮助下使用 fetch offset 调用进行了防护,因此 transactio.id 不用于围栏。
但我的疑问是,
-
仍然是事务生产者期望 transaction.id 我应该如何为最新的 Kafka 版本选择这个值?
-
transaction.id 应该有一个与分区的静态映射,fetch offset fencing 只在消费者组再平衡时生效?
-
这个值对最新版本无效吗?
请帮我解决这个问题,我正在尝试了解 Kafka EoS 并在生产系统中实现它。
【问题讨论】:
标签: apache-kafka spring-kafka confluent-platform exactly-once