可通过本地状态实现,每操作一组聚合,如下图。Kafka分区确保同代码事件同分区。每个应用实例获取分配分区事件,维护一组股票代码状态。...Streams API聚合结果写入主题,常为压缩日志主题,每个键只保留最新值。如果聚合窗口结果需更新,直接为窗口写入新结果,覆盖前结果。...Streams提供的本地状态管理、时间窗口支持和压缩日志主题写入使其可以高效处理乱序和迟到事件。通过配置不同时间窗口,开发人员可以实现不同粒度的状态管理和事件重排。...,重置本地状态,避免混淆两版本结果
可能需清理前输出流
尽管Streams提供重置应用状态工具,有条件运行两个应用生成两个结果流更安全,可以比较不同版本结果,无数据丢失或清理引入错误风险
重处理事件模式需要...重置当前运行的应用程序存在一定风险,并行运行多个版本的应用程序可以最大限度减小风险。
无论采用何种模式,重新处理事件都需要小心谨慎的计划与执行。