如何使用kafka轮询远程目录以查找新文件

时间:2017-09-15 05:43:03

标签: java apache-kafka message-queue rsync

我在远程位置有一个文件夹,其他一些进程会继续将文件放入其中。

我正在编写一个应用程序来下载每个新文件并进行处理。

目前我正在下载过去一小时内创建的rsync文件并对其进行处理。

但我需要一个解决方案,我想将新文件的名称放入队列,然后我的消费者将从队列中取名,下载文件和进程。

在这个解决方案中,我可以运行多个生产者,这些生产者只会在kafka队列上进行轮询。

1 个答案:

答案 0 :(得分:3)

您是否考虑过使用Kafka Connect?有些连接器可以完全满足您的需求:查看新文件的目录,并将其内容记录直接记录到Kafka。例如:https://github.com/jcustenborder/kafka-connect-spooldir

或者是一个更简单的连接器,它只放置新的/修改过的文件元数据:https://github.com/DataReply/kafka-connect-directory-source