Реализация этого с одним из встроенных окон Flink может быть немного сложнее, потому что вам нужно будет распределить логику по различным функциям, например, функции широковещания и функции окна.
Однако выможет реализовать логику управления окнами также только в KeyedBroadcastProcessFunction
.Он обеспечивает TimerService
(для регистрации таймеров и поиска текущего времени) и состояние ключа, так что может быть реализована вся необходимая логика.Широковещательный вход затем используется для настройки поведения.
На самом деле вам может даже не понадобиться функция широковещания, если правила всегда применяются к ключу, то есть IP-адресу.