Java 使用vertx将Mongo集合流式传输到Kafka主题的方法应该是什么?
我有一个MongoDB收藏。我想使用Vert.x将这个集合的一个子集(基于一些查询)流式传输到卡夫卡主题 到目前为止,我已经为Java 使用vertx将Mongo集合流式传输到Kafka主题的方法应该是什么?,java,mongodb,stream,apache-kafka,vert.x,Java,Mongodb,Stream,Apache Kafka,Vert.x,我有一个MongoDB收藏。我想使用Vert.x将这个集合的一个子集(基于一些查询)流式传输到卡夫卡主题 到目前为止,我已经为KafkaWriteStream创建了一个Vert.x verticle,它似乎可以处理伪硬编码字符串 不幸的是,我不知道如何从MongoDB获取文档流,这些文档可以稍后使用专用的垂直链接流到Kafka 我怎样才能做到这一点?有人有相关链接或信息吗?该模块允许从Mongo查询中获取ReadStream 当您拥有它时,连同您的KafkaWriteStream,您可以开始从M
KafkaWriteStream
创建了一个Vert.x verticle,它似乎可以处理伪硬编码字符串
不幸的是,我不知道如何从MongoDB获取文档流,这些文档可以稍后使用专用的垂直链接流到Kafka
我怎样才能做到这一点?有人有相关链接或信息吗?该模块允许从Mongo查询中获取ReadStream
当您拥有它时,连同您的KafkaWriteStream
,您可以开始从Mongo读取数据并将其发送给Kafka
不过要小心背压:如果Mongo加载数据太快,不要让Kafka客户端不知所措。您的算法应该如下所示:
readstream.handler(data -> {
transformedData = transform(data); // your own transformations
writestream.write(transformedData);
if (writestream.writeQueueFull()) {
readstream.pause();
writestream.drainHandler(done -> {
readstream.resume();
});
}
});