我们是否可以使用任何其他数据库(如MariaDB或MongoDB)来存储卡夫卡流中的状态,而不是Rocks DB,是否有任何方法来配置它?

我们是否可以使用任何其他数据库(如MariaDB或MongoDB)来存储卡夫卡流中的状态,而不是Rocks DB,是否有任何方法来配置它?,mongodb,apache-kafka,apache-kafka-streams,spring-cloud-stream,Mongodb,Apache Kafka,Apache Kafka Streams,Spring Cloud Stream,我有一个Spring boot Kafka Stream应用程序,它处理所有传入事件并将其存储在Kafka Streams内部提供的状态存储中,并使用交互式查询服务进行查询。在所有这些使用“RocksDB”的Kafka流中,我想用任何其他可配置的数据库(如MariaDB或MongoDB)替换这个RocksDB。有办法吗?如果不是 如何将Kafka Stream应用程序配置为使用MongoDB创建状态存储。StateStore/KeyValueStore是Kafka Streams中的开放接口,可

我有一个Spring boot Kafka Stream应用程序,它处理所有传入事件并将其存储在Kafka Streams内部提供的状态存储中,并使用交互式查询服务进行查询。在所有这些使用“RocksDB”的Kafka流中,我想用任何其他可配置的数据库(如MariaDB或MongoDB)替换这个RocksDB。有办法吗?如果不是


如何将Kafka Stream应用程序配置为使用MongoDB创建状态存储。

StateStore/KeyValueStore是Kafka Streams中的开放接口,可与
TopologyBuilder.addStateStore一起使用

是的,您可以使用自己选择的数据库将值具体化到自己的存储实现中,但如果存在任何数据库连接问题,尤其是远程数据库,则会影响处理语义

相反,使用更多事务日志的主题,然后使用Kafka Connect,是外部系统的正确方法