Я изучаю SCDF для оркестровки существующей пакетной задачи для моей системы. Я заметил, что SC Stream App Starters уже предоставляет несколько готовых к использованию потоковых приложений OOTB, что соответствует моему варианту использования:
- Извлечение файла xml с FTP -> источник ftp
- Настроить трансформацию
- Загрузите преобразованный XML-файл на другой FTP -> приемник ftp
Но моя система требует, чтобы вышеупомянутое пакетное задание выполнялось только каждые 10 минут. Реализовать его с использованием потокового приложения можно, но для этого требуется, чтобы потоковое приложение работало круглосуточно (с использованием SCDF с Kubernetes). Меня беспокоит то, что у меня есть 20+ вышеуказанных пакетных задач, и каждое потоковое приложение должно быть «запущено», чтобы запускаться с интервалом в 10 минут.
Прочитав Spring Cloud Task, я заметил, что он лучше подходит для моего использования, так как не требует, чтобы потоковые приложения постоянно работали (недолго). Но у него нет готового OOTB для использования необходимых мне приложений задач: ftp-source и ftp-stream.
Кроме того, использование Spring Cloud Task не позволяет мне передавать XML-файл из предыдущего приложения задачи в следующее. Похоже, это запах кода для передачи данных от задачи к задаче согласно прокомментируйте этот вопрос.
Затем, чтобы реализовать вышеупомянутый вариант использования, task-app-1 загрузит XML-файл и выведет его в какое-то хранилище, затем task-app-2 заберет XML-файл из хранилища и выполнит настройку преобразования и загрузит в другое хранилище. . Затем task-app-3 берет XML-файл и загружает его на ftp. Будет ли это уместно ??
Кроме того, у меня также есть идея зарегистрировать несколько потоков с помощью вышеуказанного варианта использования и запустить развертывание потока через внешний источник (SCDF REST API)? Пресечет ли это цель существующей функции расписания задач?
Кто-нибудь может посоветовать по этому поводу?