目前实现了基于offset分散的cpu尖刺解决方案,但是改方案需要业务统一语义变更。比如基于ip的5min统计,我通过hash将不同ip哈希得到不同offset,使用滚动5min窗口+hash到的offset分窗,效果OK。 但如果部分业务不希望窗口上加offset,就需要如上最初想的这个方案了。
yidan zhao <[email protected]> 于2021年8月31日周二 下午3:19写道: > 不过目前我覆盖实现过很多flink的api,都很难受,因为各种要么private,要么没有get/set,导致只能覆盖实现。没办法继承调整部分实现。 > > 刚刚看了下,这个思路实现的话,目前需要自定义个 window 类,不使用 > TimeWindow,需要在window中记录下触发时间,否则trigger的onEventTime方法回调中没办法确认是否当前元素的触发时机。 > > 或者triggerContext提供currentKey,但我看了TriggerContext中有key,但是没提供getCurrentKey方法,导致。。。 > > yidan zhao <[email protected]> 于2021年8月31日周二 下午3:16写道: > >> cpu尖刺平滑呀。 >> >> Shuo Cheng <[email protected]> 于2021年8月31日周二 下午3:14写道: >> >>> 这样做是要达到设么目的呢? 目前的触发机制以及 early/late fire 满足不了需求么? >>> >>> On 8/31/21, yidan zhao <[email protected]> wrote: >>> > 如题,我目前计划自定义event time trigger实现分散触发。 >>> > 比如0-5的窗口分散到6-11分触发, 从6开始是因为本身有个1min的乱序处理。 >>> > 同时配合将allowedlateness设置为5min,这样避免窗口状态在触发之前被clean。 >>> > >>> > 不知道想法是否OK呢? >>> > >>> >>
