我有一个按照事件溯源范例实现的 Flink 应用程序。事件和命令都存储在几个 Kafka 主题中。
该应用程序有两种启动模式:恢复和生产。首先,恢复模式用于从事件主题中恢复应用程序状态(保存点)。在这种模式下,根本不读取命令。处理完所有事件主题后,将手动触发保存点(从命令行)并停止应用程序。然后,纱线过程在生产模式下启动。在该模式下,应用程序同时处理事件和命令。
我宁愿以编程方式执行此过程。为此,出现了几个问题......应用程序本身如何:
- 检测到卡夫卡源已被完全阅读?
- 以编程方式触发保存点?
- 以编程方式停止和启动?
谢谢!