我正在使用在map/foreach
期间调用外部系统的Kafka Streams。
map
或foreach
可以花多长时间?
长时间(比如几小时)是否有任何阻止的警告?
答案 0 :(得分:4)
double[] premiums = { 1031.38, 1031.39 };
double netToCompany = 1587.0;
for (double premium : premiums) {
System.out.printf("%.2f%n", premium + netToCompany);
}
没有应用超时。
但是,由于Kafka Streams内部使用map/foreach
和KafkaConsumer
,所有超时都适用(例如。KafkaProducer
)。您当然可以相应地配置它们,但不建议长时间阻止对外部系统的调用。
使用Kafka Connect将外部服务中的数据加载到主题中会有很多好处,并在应用程序中将此数据作为max.poll.interval.ms
读取,然后执行流表连接而不是映射。这种方法将Streams应用程序与外部系统分离,从而使整个架构更加健壮。