在使用Kafka Connect同步数据时,丰富数据的最佳做法是什么



我正在考虑从Kafka中丰富数据的解决方案。现在我正在使用实现Mongo-KafkaConnect来同步对Kafka的所有更改。kafka连接使用更改流来监视操作日志和对kafka的公开更改。Mongo的收藏与卡夫卡主题的关系是1:1。在使用者端,当它提取数据时,它将获得我们需要加入到其他集合以获取数据的引用id。要在集合之间连接数据,我有以下两个解决方案。

  1. 当消费者提取数据时,需要返回Mongo数据库,根据引用键提取或连接数据或集合。

    • 对于这种方式,我担心需要返回到Mongo数据库的连接数量
  2. 使用kafka流连接主题之间的数据。

    • 对于第二个解决方案,我想知道如何将主数据永远保存在主题中,以及如何在数据库表等主题中维护记录,这样每一行都有唯一的索引,当数据更改到达主题时,我们可以更新记录

如果您有任何其他解决方案,请告诉我。

您的消费者可以随心所欲。不过,您可能需要根据数据库查找增加各种Kafka超时配置。

Kafka主题可以使用retention.ms=-1无限保留,也可以通过压缩来无限保留。当您使用压缩时,它将类似于KV存储(但作为日志(。要获得一个实际的查找存储,您可以构建一个KTable,然后根据它加入一个主题流

本页介绍了Kafka Streams中的各种连接模式-https://developer.confluent.io/learn-kafka/kafka-streams/joins/

您也可以使用ksqlDB

相关内容

  • 没有找到相关文章

最新更新