当前位置: 首页 > 知识库问答 >
问题:

使用onTimer和Process Element的Apache Flink超时

龙高歌
2023-03-14

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

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

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

共有1个答案

宣意致
2023-03-14

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

 类似资料:
  • 在中,元素被分配给一个或多个实例。在滑动事件时间窗口的情况下,这发生在1中。 如果窗口的和,则将时间戳为0的元素分配到以下窗口: 窗口(开始=0,结束=5) 窗口(开始=-1,结束=4) 窗口(开始=-2,结束=3) 窗口(开始=-3,结束=2) 窗口(开始=-4,结束=1) 在一幅图片中: 有没有办法告诉Flink时间有开始,而在那之前,没有窗户?如果没有,从哪里开始寻求改变?在上述情况下,Fl

  • 从示例中,我看到了下面的代码片段,它运行良好。但问题是:我并不总是需要处理输入流并将其生成到接收器。 如果我有一个应用程序,根据某些事件,我必须只发布到kafka主题,以便下游应用程序可以做出某些决定。这意味着,我实际上没有输入流,但我只知道当我的应用程序中发生某些事情时,我需要向kafka的特定主题发布消息。也就是说,我只需要一个接收器。 我查看了示例,但没有找到符合我要求的任何内容。有没有一种

  • 安装(下载 这是Flink的默认配置。 关于这里发生了什么事,有什么建议吗?

  • 问题内容: 我正在通过mgo运行地图缩减任务。它运行在具有超过350万条记录的集合上。由于某些原因,我现在无法将此端口移植到聚合中。可能会晚一些。因此,map- reduce是我期待的事情。当我从为测试代码和输出而创建的原始js文件运行该作业时,它运行良好。我试图将地图和减少代码放在两个字符串中,然后尝试调用mgo.MapReduce为我做地图减少,以便在其他集合中编写输出。它给了我 读取TCP

  • 我只找到TextInputFormat和CsvInputFormat。那么,如何使用ApacheFlink读取HDFS中的拼花文件呢?

  • 我有一个用Spring Boot1.5.13构建的java应用程序,我没有设法将会话超时设置为60分钟。我发现Spring将默认的会话超时设置为30分钟。在这个项目上,我们使用: > HttpSecurity的自定义配置 protected void configure(HttpSecurity http){ http.SuccessHandler((httpServletRequest,http