apache-kafka-streams - 为窗口化 kafka 流应用程序重建状态存储时如何忽略旧消息
问题描述
我们正在构建一个 kafka 流应用程序。我们收到关于某个主题的请求和响应消息。每个请求都有一个唯一的 kafka 密钥,响应具有相同的密钥。我们需要将它们配对,使用密钥作为相关性和十分钟的窗口,然后将配对发布到另一个主题上,忽略不匹配的消息。我们有它的工作,但现在已经提出了一个问题。
我们在 Kubernetes 环境中运行,Pod 可能随时关闭或启动。
从操作的角度来看,我们更愿意在 Pod 关闭时丢弃状态存储,并在启动时构建它。
所以我们需要考虑在启动时建立状态存储的时间。应用程序是否需要读取所有旧消息来构建状态存储,或者它是否“聪明”到只读取最后十分钟的那些(因为任何旧消息都不相关)?
如果它不自动执行,我们可以让它以某种聪明的方式跳过旧消息,因为在启动时阅读几个月的旧消息并不理想。
谢谢
解决方案
推荐阅读
- php - 搜索词在 codeigniter 查询中包含“(”时没有结果
- amazon-web-services - 如何为我的 Elastic Beanstalk Java 应用程序启用 HTTPS?
- javascript - Electron JS - 无法解构'require(...).remote'的属性'BrowserWindow',因为它未定义
- javascript - 导航回具有相同状态的搜索页面 (JavaScript)
- google-play - 如何从 Google Play 音乐转移到 Plex 音乐
- snowflake-cloud-data-platform - 从命名的外部阶段与外部位置加载文件
- python - 如何更改 RS4 类属性的默认值 - rpy2
- python - 如何通过列表值命名在 for 循环中开发的每个数据框
- python - 用 NaN 替换组的最后一个值
- c++ - C++创建一个函数的朋友?