Kafka Streams 是否超时处理需要多长时间?

Do Kafka Streams have a timeout on how long processing can take?

我正在使用在 map/foreach 期间调用外部系统的 Kafka Streams。 关于 mapforeach 可以花费多长时间是否有任何超时?

长时间(比如几个小时)阻塞有什么注意事项吗?

map/foreach没有超时。

但是,由于 Kafka Streams 在内部使用 KafkaConsumerKafkaProducer,因此它们的所有超时都适用(例如 max.poll.interval.ms)。您当然可以相应地配置它们,但不建议对外部系统进行长时间阻塞调用。

使用 Kafka Connect 将来自外部服务的数据加载到主题中,并在您的应用程序中将此数据作为 KTable 读取并执行流 - table 会有很多优势加入而不是地图。这种方法将您的 Streams 应用程序与外部系统分离,从而使整体架构更加健壮。