Apache flink 使用onTimer和processElement的Apache Flink超时

Apache flink 使用onTimer和processElement的Apache Flink超时,apache-flink,actor,flink-streaming,Apache Flink,Actor,Flink Streaming,我使用ApacheFlinkProcessElement1、processElement2和onTimer流设计模式来实现超时用例。我观察到,当我加入超时功能时,系统的吞吐量下降了几个数量级 关于Flink中onTimer内部实现的任何提示:是每个密钥流一个线程(不太可能),还是池/单执行线程持续轮询缓冲回调并拾取超时回调以执行 据我所知,Flink基于actor模型和反应模式(AKKA),它鼓励明智地使用少数非阻塞线程,因此onTimer的每个密钥流一个线程或任何其他模式通常不使用 Flink

我使用ApacheFlinkProcessElement1、processElement2和onTimer流设计模式来实现超时用例。我观察到,当我加入超时功能时,系统的吞吐量下降了几个数量级

关于Flink中onTimer内部实现的任何提示:是每个密钥流一个线程(不太可能),还是池/单执行线程持续轮询缓冲回调并拾取超时回调以执行


据我所知,Flink基于actor模型和反应模式(AKKA),它鼓励明智地使用少数非阻塞线程,因此onTimer的每个密钥流一个线程或任何其他模式通常不使用

Flink中有两种计时器,事件时间计时器和处理时间计时器。实现是完全不同的,但是在这两种情况下,您都不应该看到显著的性能影响。一定还有别的事。您能否分享一个小的、可重复的例子,或者至少向我们展示更多的情况以及您是如何进行测量的?

谢谢。我将更深入地介绍我的任务经理,看看到底发生了什么。我正在使用处理时间计时器。尽管如此,您能否给我一个关于事件/处理时间计时器的内部实现的提示?什么样的体系结构设计使它们具有可伸缩性和性能。