【发布时间】:2020-03-12 00:47:09
【问题描述】:
我需要使用消费过程生产模式来处理 Kafka 消息,并配置了一个带有 Kafka 事务管理器的 Spring Kafka 侦听器容器,并且还设置了 transaction-id-prefix 以启用 Kafka 事务。我正在使用 BATCH 的确认模式,并试图了解偏移量何时在此模式下通过事务实际提交。文档似乎表明,一旦轮询中的所有记录都已被使用,ack-mode BATCH 就会提交偏移量 - 在事务上下文中也是如此,即每个轮询 1 个事务?
或者在使用 Kafka 事务(每个侦听器调用 1 个事务)时忽略 ack-mode BATCH?是这样,考虑到消费者需要为每条读取的记录与代理交谈,它对消费者性能的影响有多大?这是否也意味着我的响应生产者不能再缓冲记录并将它们分批发送给代理,并且我失去了生产者的异步性?
很抱歉在同一个帖子中提出了多个问题(可能太多了)。
【问题讨论】:
标签: spring-kafka kafka-producer-api