在早期版本的 Kafka 中,在消费者组不匹配期间,事务 id 和主题分区之间应该有一次性语义静态映射,因此事务 id 有可能获得不同的主题分区。
为避免这种情况KIP-447:生产者可扩展性仅在实现语义后,我从 KIP-477 中了解到,旧生产者在新 API(sendOffsetToProdcuer)的帮助下使用 fetch offset 调用进行防护,因此事务。 id 不用于围栏。
但我的疑问是,
仍然是事务性生产者期望 transaction.id 我应该如何为最新的 Kafka 版本选择这个值?
transaction.id 应该与分区有静态映射,获取偏移量防护仅在消费者组重新平衡期间生效?
这个值对最新版本无效吗?
请帮我解决这个问题,我正在尝试了解 Kafka EoS 并在生产系统中实现它。