我有一个用例:假设我想制定一条规则,即在5分钟的时间间隔内从某个IP生成的所有事件都应转到某个特定主题;在“广播”状态下,我可以有几个这样的规则。
答案 0 :(得分:1)
用Flink的内置窗口之一来实现这一点可能有些棘手,因为您需要在不同的功能(即广播功能和窗口功能)之间分配逻辑。
但是,您也可以单独在KeyedBroadcastProcessFunction
中实现开窗逻辑。它提供了TimerService
(用于注册计时器并查询当前时间)和键控状态,从而可以实现所有必需的逻辑。然后,使用广播输入来配置行为。
实际上,如果始终对每个键(即IP地址)应用规则,则您甚至可能不需要广播功能。