Мы создаем механизм веб-сканирования и хотели бы, чтобы конечный пользователь видел собранные результаты как можно быстрее, а также получал уведомление, когда все данные находятся в базе данных.
Результаты сбора проходят минимальную обработку ETL. Мы ищем ETL, который уведомит, когда будет обработан весь конечный поток (а также, если возможно, о некотором прогрессе). Поток разделяется на набор Zip-файлов + файл, содержащий список Zip-файлов (который поступит асинхронно в ETL, когда поток будет полностью просканирован).
Мы смотрели на Apache Flink и Apache NIFI. Apache flink поддерживает пакетную обработку, и клиент может ждать, пока пакет не будет выполнен, но здесь данные больше похожи на конечный поток, что означает, что обработка должна начаться до того, как все данные станут доступны, и закончиться на основе другого файла, в котором перечислены все zip-файлы. Apache nifi кажется более подходящим для этой работы с использованием уведомлений и ожидания. это будет работать с нифи? nifi предназначен для таких случаев? Можно ли уведомлять о прогрессе и финише конечного потока? Какие недостатки, если таковые имеются? любой другой вариант?