【发布时间】:2017-07-16 10:13:58
【问题描述】:
我正在使用在map/foreach 期间调用外部系统的 Kafka Streams。
map 或 foreach 可以占用多长时间是否有超时?
长时间(比如几个小时)阻塞有什么注意事项吗?
【问题讨论】:
标签: java apache-kafka apache-kafka-streams
我正在使用在map/foreach 期间调用外部系统的 Kafka Streams。
map 或 foreach 可以占用多长时间是否有超时?
长时间(比如几个小时)阻塞有什么注意事项吗?
【问题讨论】:
标签: java apache-kafka apache-kafka-streams
map/foreach 没有超时。
但是,由于 Kafka Streams 在内部使用 KafkaConsumer 和 KafkaProducer,所以它们的所有超时都适用(例如 max.poll.interval.ms)。您当然可以相应地配置它们,但不建议对外部系统进行长时间阻塞调用。
使用 Kafka Connect 将外部服务中的数据加载到主题中,并在应用程序中将这些数据读取为 KTable 并执行流表连接而不是映射,这将有很多优点。这种方法将您的 Streams 应用程序与外部系统分离,从而使整体架构更加健壮。
【讨论】: