我在远程位置有一个文件夹,其他一些进程会继续将文件放入其中。
我正在编写一个应用程序来下载每个新文件并进行处理。
目前我正在下载过去一小时内创建的rsync
文件并对其进行处理。
但我需要一个解决方案,我想将新文件的名称放入队列,然后我的消费者将从队列中取名,下载文件和进程。
在这个解决方案中,我可以运行多个生产者,这些生产者只会在kafka队列上进行轮询。
答案 0 :(得分:3)
您是否考虑过使用Kafka Connect?有些连接器可以完全满足您的需求:查看新文件的目录,并将其内容记录直接记录到Kafka。例如:https://github.com/jcustenborder/kafka-connect-spooldir。
或者是一个更简单的连接器,它只放置新的/修改过的文件元数据:https://github.com/DataReply/kafka-connect-directory-source