【发布时间】:2019-07-02 16:12:55
【问题描述】:
我们正在尝试使用 Kafka Streams 实现重复数据删除服务。 大局是它将使用它的 RocksDB 状态存储,以便在处理过程中检查现有的密钥。
如果我错了,请纠正我,但为了使这些 stateStore 也具有容错性,Kafka 流 API 将透明地复制 Kafka 主题内 stateStore 中的值(称为更改日志)。 这样,如果我们的服务宕机,另一个服务将能够根据 Kafka 中的 changeLog 重建其 stateStore。
但它向我提出了一个问题,这个“StateStore --> changelog”本身是否恰好是一次? 我的意思是,当服务将更新其 stateStore 时,它也会以仅一次的方式更新更改日志.. ? 如果服务崩溃,另一个服务会承担负载,但我们能确定它不会错过崩溃服务的 stateStore 更新吗?
问候,
亚尼克
【问题讨论】:
-
欢迎来到 Stack Overflow!请参阅:How do I do X? Stack Overflow 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
-
我在 2018 年 Kafka 峰会上谈到了这个。您可以在 Kafka 峰会网页上找到幻灯片和录音:kafka-summit.org/sessions/…
标签: apache-kafka apache-kafka-streams fault-tolerance