【发布时间】:2015-05-27 07:33:37
【问题描述】:
我从 Akka Streams 开始,到目前为止一切顺利。但是,我遇到了一个我不知道如何处理的用例。该场景是一个流,其中 ActorPublisher 作为源消费来自 Kafka 的消息,订阅者作为接收器更新 Cassandra 表。
Kafka ~> 一些映射操作 ~> Cassandra
关键是,每次成功处理并插入 Cassandra 的消息时,我都想明确地向 Kafka 确认,以便在发生灾难和服务失败时,我可以重新读取消息,即某种的至少一次交付行为。就 Akka Streams 而言,我该如何解决这个问题?是受支持的方案吗?
确实,我总是可以为 Kafka 消费者配置自动提交行为,但我更愿意控制我阅读消息的方式。
更新
关于这个话题,我们目前正在评估 Reactive Kafka,他们在 kafka 中包含了从 0.8 版本开始的手动提交(这些人的荣誉)。这个特性可以让我们实现我们需要的 alod 行为。
【问题讨论】:
标签: scala cassandra akka apache-kafka reactive-streams