【发布时间】:2021-10-11 19:02:36
【问题描述】:
默认状态存储是rocksdb。我还可以找到内存中的状态存储。但是,我需要弄清楚是否可以将 kafka 流配置为使用 mongodb 作为状态存储,以及我是否可以自己定义这些集合。
【问题讨论】:
标签: mongodb apache-kafka apache-kafka-streams
默认状态存储是rocksdb。我还可以找到内存中的状态存储。但是,我需要弄清楚是否可以将 kafka 流配置为使用 mongodb 作为状态存储,以及我是否可以自己定义这些集合。
【问题讨论】:
标签: mongodb apache-kafka apache-kafka-streams
您将实现StateStore 和StsteStoreSupplier,但是,建议您不要使用远程数据存储,因为这会导致在 RocksDB 实现中已经考虑到的拓扑中的不一致和相当大的滞后。它还会导致对数据库的大量读取和写入的高流失率,这将影响所有客户端
您发现通常实现的是使用 Kafka Connect MongoDB 接收器在完全处理后写入数据,使用内置状态存储选项和 Debezium 或 Mongo 源连接器将数据导入 Kafka处理
不过,您可以在这里找到 Redis statestore 的 POC,作为尝试为 Mongo 编写自己的 POC 的灵感 - https://github.com/andreas-schroeder/redisks
【讨论】: