kafka流:手工连接时存储计算产生的延迟

pn9klfpd  于 2021-06-06  发布在  Kafka
关注(0)|答案(0)|浏览(254)

我有一个kafka流拓扑,其中通过dsl聚合创建会话存储(这里的所有主题都是共同分区的)。
我后来从一家商店用这个商店 transformValues 换个主题( orders ),查询此存储以生成包含一个订单及其会话的类似联接的输出。
但是,当出现一些卷峰值时,存储会产生计算延迟,而 orders 主题没有。因此,即使事件按顺序到达系统 order 不会找到它的 sessions 在那里。
因此,当订单到达时,存储区有时还没有填充以前的、尚未处理的数据,因此在存储区中查找时,找不到任何条目。
我能看到加入的解决办法 orderKStream 用一个 KStream 会话存储的版本,以便能够对两个到达的 order 和一个 session ,正在生成新版本。
但这增加了复杂性,而且iirc-the-join将创建一个额外的窗口主题(我已经在其他地方使用了该会话存储,所以我仍然需要它)。
有没有其他的策略来解决这个问题,需要做哪些权衡?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题