Apache Flink:定期加载功能的配置

时间:2019-05-06 06:25:47

标签: apache-flink flink-streaming

假设,动态配置存储在DB中,以从流中过滤出列入黑名单的事件。

过滤器功能使用此配置,并且需要在一定时间间隔(10分钟)后重新加载/刷新新配置。

可以在每个窗口调用中调用一个函数以重新加载配置并重新分配config变量。

注意:由于窗口中的此函数调用与流的事件数据无关,因此在触发窗口之前,不要将流事件缓冲/保留在内存中。

有线索吗?

1 个答案:

答案 0 :(得分:1)

您可以将ProcessFunction放在窗口的前面,并进行过滤。我建议使用ProcessFunction,因为它可以有一个计时器,该计时器每10分钟触发一次,以触发配置数据的重新加载/刷新。

通过这种方式,到达窗口的所有事件都将被接收到每个事件时处于活动状态的下拉列表配置的版本预先过滤。

您可以进一步利用流传输,并在发生更改时将其放入流列表配置中,而不是每10分钟轮询一次。