kafka拓扑设计:如何进行滑动窗口连接并在超时时发出事件[[硬]

2skhul33  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(473)

我的要求如下:
消息“t”到达时,必须等待5秒钟,才能到达“a”中相应的消息(使用相同的密钥)。如果在5秒内到达,则发送连接的值并向下游发送。如果在5秒内未收到,则只向下游发送“t”消息。
消息“a”到达时,必须等待5秒钟,才能到达“t”中相应的消息(使用相同的密钥)。如果在5秒内到达,则发送连接的值并向下游发送。如果在5秒内未收到,则只向下游发送“a”消息。

我现在的想法是做一个kstream kstream滑动窗口外部连接。但是,在向下游发送(t,null)或(null,t)消息之前,这不会等待5秒钟(立即完成)。
我需要等待发生超时,如果没有发生连接,则通过发送未连接的消息。
我附上了一张图表来帮助理解这些案例。我正在尽可能多地使用dsl。
谢谢你的帮助。

i7uaboj4

i7uaboj41#

好吧,我找到了一个相当黑客的解决方案,我还在评估,但将适用于这个场景。
我可以简单地将groupbykey放在末尾,然后使用一个无边界缓冲区抑制,直到窗口过期。

相关问题