Перемещение миллионов документов из Монго в Кафку - PullRequest
0 голосов
/ 09 октября 2018

У меня есть 10 миллионов документов в базе данных Mongo, которые я хотел бы отправить в Kafka в виде JSON без каких-либо изменений.

В поисках лучших подходов.

1.Использовать монго реактивные потоки

 Flux.from(collection.find()).doOnError(e -> {
             e.printStackTrace();
         }).doOnComplete(() -> {
             System.out.println("Finished ");
         }).subscribe(doc -> {
             // Code to insert into Kafka
         });
Использование Akka Stream

Есть ли другой доступный разъем?

Кроме того, нужно ли мне выполнять многопоточность внутри метода подписки?

Есть ли какой-нибудь другой лучший подход?

1 Ответ

0 голосов
/ 09 октября 2018

Вы можете использовать Kafka Connect и Исходный соединитель MongoDB для репликации данных из 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...