我正在研究kafka事务处理的一个常见案例:
Topic A
读取批次Topic B
(提交Kafka交易)当前,为了方便起见,当步骤Batch ID (partition + offset)
成功通过但步骤3
失败时,我正在使用同一数据库存储业务数据和保存4
应用程序崩溃。这样,在可恢复的应用程序启动时,我可以验证是否再次处理了该当前批次(由于崩溃前在步骤4
上没有提交),因此我可以直接跳至步骤{{1 }}。
我正在考虑使用Kafka Streams解决下一个问题:
4
存储在kafka流本地状态存储区(rocksdb)中,因为验证请求(保证服务的幂等性)在每一批中都执行Kafka-Streams是否是为此目的合适的选择?
Ps 我在这里问,因为我没有找到任何信息(在kafka文档,会议,演讲中搜索),以获取有关本地商店机制及其内幕机制的信息。