【发布时间】:2019-06-25 06:53:02
【问题描述】:
让我们假设一个像这样的简单案例:
ORDER_TOPIC ----> KSTREAM ----> VALIDATED_ORDER_TOPIC
|
ROCKSDB LOCAL STATE STORE
KStream 使用带有转换器的转换操作对来自 ORDER_TOPIC 的消息进行重复数据删除,该转换器通过其键/ID 将消息存储在持久的本地状态存储中。这样,如果同一订单两次到达,它将被忽略。
现在有一个新订单到达,它没有重复,因此它存储在本地存储中,但在将其发送到 VALIDATED_ORDER_TOPIC 之前,应用程序崩溃了。
我想知道 KStream 中的事务保证是什么:记录是被存储并提交到本地状态存储还是回滚?
您能否指出一些有关具有至少一次语义的 Kafka 流的事务保证的文档?
【问题讨论】:
标签: apache-kafka apache-kafka-streams