【问题标题】:Change state store for Kakfa Streams to use MongoDB更改 Kafka Streams 的状态存储以使用 MongoDB
【发布时间】:2021-10-11 19:02:36
【问题描述】:

默认状态存储是rocksdb。我还可以找到内存中的状态存储。但是,我需要弄清楚是否可以将 kafka 流配置为使用 mongodb 作为状态存储,以及我是否可以自己定义这些集合。

【问题讨论】:

    标签: mongodb apache-kafka apache-kafka-streams


    【解决方案1】:

    您将实现StateStoreStsteStoreSupplier,但是,建议您不要使用远程数据存储,因为这会导致在 RocksDB 实现中已经考虑到的拓扑中的不一致和相当大的滞后。它还会导致对数据库的大量读取和写入的高流失率,这将影响所有客户端

    您发现通常实现的是使用 Kafka Connect MongoDB 接收器在完全处理后写入数据,使用内置状态存储选项和 Debezium 或 Mongo 源连接器将数据导入 Kafka处理

    不过,您可以在这里找到 Redis statestore 的 POC,作为尝试为 Mongo 编写自己的 POC 的灵感 - https://github.com/andreas-schroeder/redisks

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 2018-10-24
      • 2021-01-04
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      相关资源
      最近更新 更多