【问题标题】:Moving millions of documents from Mongo to Kafka将数百万个文档从 Mongo 迁移到 Kafka
【发布时间】:2018-10-09 14:10:24
【问题描述】:

我在 Mongo DB 中有 1000 万个文档,我想将它们作为 JSON 推送到 Kafka,因为它没有任何更改。

寻找最佳方法。

1.使用Mongo响应式流

 Flux.from(collection.find()).doOnError(e -> {
             e.printStackTrace();
         }).doOnComplete(() -> {
             System.out.println("Finished ");
         }).subscribe(doc -> {
             // Code to insert into Kafka
         });
  1. 使用 Akka 流

还有其他可用的连接器吗?

另外,我需要在订阅方法中做多线程吗?

还有其他更好的方法吗?

【问题讨论】:

    标签: mongodb apache-kafka


    【解决方案1】:

    您可以使用Kafka ConnectMongoDB source connector 将数据从Mongo 复制到Kafka。使用 Kafka Connect 更加灵活、可扩展和简单。

    一个示例配置是:

    name=mongodb-source-connector
    connector.class=org.apache.kafka.connect.mongodb.MongodbSourceConnector
    tasks.max=1
    uri=mongodb://127.0.0.1:27017
    batch.size=100
    schema.name=yourSchemaName
    topic.prefix=aPrefix # optional
    databases=mydb.test,mydb.test2
    

    【讨论】:

    • +1 用于使用 Kafka Connect。另一个要查看的连接器是Debezium,它支持来自 MongoDB 的流
    • mongodb 源连接器是否支持基于 x509 的身份验证?
    • Kafka Connect 支持 SSL 身份验证。 docs.confluent.io/current/kafka/…
    猜你喜欢
    • 1970-01-01
    • 2021-03-20
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多