我有一个Spring启动的Kafka Stream应用程序,它处理所有传入事件,并将其存储在Kafka Streams内部提供的State store中,并使用交互式查询服务对其进行查询。在所有这些使用";RocksDB",我想用任何其他可以配置的数据库来代替这个RocksDB,比如MariaDB或MongoDB。有办法做到吗?如果不是
如何配置Kafka Stream应用程序使用MongoDB创建状态存储。
StateStore/KeyValueStore是Kafka Streams中的开放接口,可与TopologyBuilder.addStateStore
一起使用
是的,您可以使用自己选择的数据库将值具体化到自己的存储实现中,但如果存在任何数据库连接问题,尤其是远程数据库,这将影响处理语义。
相反,使用一个更像事务日志的主题,然后使用Kafka Connect跟进,是外部系统的正确方法