Apache kafka 如果KStream#进程执行所有数据库操作并转发给下一个使用者并最终写入主题,则只需维护一次语义
我想在外部数据库中执行所有有状态操作,而不是RocksDB,并且要在需要任何有状态操作的地方执行该操作,我正在编写自定义处理器,该处理器将执行DB操作和上下文#forward方法将键值对witten转发给下游消费者,并最终写入主题。Kafka Streams启用仅在卡夫卡主题中使用一次语义 对于写入外部系统-数据库,您没有这样的保证 以下场景是可能的:Apache kafka 如果KStream#进程执行所有数据库操作并转发给下一个使用者并最终写入主题,则只需维护一次语义,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我想在外部数据库中执行所有有状态操作,而不是RocksDB,并且要在需要任何有状态操作的地方执行该操作,我正在编写自定义处理器,该处理器将执行DB操作和上下文#forward方法将键值对witten转发给下游消费者,并最终写入主题。Kafka Streams启用仅在卡夫卡主题中使用一次语义 对于写入外部系统-数据库,您没有这样的保证 以下场景是可能的: 自定义处理器获取消息并执行对外部系统(DB)的写入 发生了一些致命错误-未在源主题中进行偏移量提交,未向下游传递任何记录 应用程序已重新启动 相
- 外部系统(DB)-获取相同消息两次
- 整个卡夫卡只有一次成功
- Matthias J.Sax在卡夫卡峰会上的演讲:
- 王国章在合流页面的博客帖子:
- Neha Narkhede在合流页面的博客帖子: