在kafka streams本地存储(rocksdb)中存储批次唯一id

hi3rlvi2  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(281)

我正在研究Kafka事务处理的一个常见案例:
从批读取 Topic A 批处理(业务逻辑)
保存到数据库(提交整个批处理的db事务)
将批发送到 Topic B (提交Kafka事务)
目前,我使用相同的数据库来保存业务数据 Batch ID (partition + offset) 为了一个案子,什么时候 3 成功通过,但步骤 4 由于整个应用程序崩溃而失败。这样,在可恢复的应用程序启动时,我可以验证当前批处理,该批处理已再次收到(由于步骤中缺少提交) 4 我可以直接跳到台阶上 4 .
我正在考虑使用Kafka流来解决下一个问题:
卸载主业务数据库和存储 Batch ID 在kafka流本地状态存储(rocksdb)中,由于验证请求(保证服务的幂等性)在每个批上执行
如果该批货非常多,请利用本地存储lru。
Kafka的选择是否正确?
p、 我在这里问,因为我没有找到任何来源(在Kafka文件,会议,会谈中搜索)有关当地商店机械和如何在引擎盖下工作的信息。

暂无答案!

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

相关问题