Как я должен разделить и организовать настраиваемую пакетную сеть, используя Spring Batch и Spring Cloud Data Flow? - PullRequest
0 голосов
/ 11 декабря 2019

Мы хотели бы перенести планирование и управление последовательностью некоторых заданий импорта Kettle из проприетарной реализации в версию Spring Batch, внедрение хорошей практики.

Я собираюсь использовать сервер Spring Cloud Data Flow (SCDF)реализовать и запустить настраиваемую последовательность существующих внешних заданий импорта.

Пользовательский интерфейс редактора задач консоли SCDF кажется многообещающим для сборки потока. Таким образом, одна задача оборачивает одну Spring Batch, которая за один шаг выполняет только тасклет, запускающий и опрашивающий Carte REST API. Имеет ли это смысл до сих пор?

Не могли бы вы предложить лучшую реализацию?

Ограничения и требования:

  • Внешние задания Kettle запускаются и опрашиваются с помощью Carte REST. API. На самом деле, это одна реализация задания Kettle, вызываемая с отдельными параметрами для каждой импортируемой сущности.
  • Существует настраиваемый ориентированный граф заданий импорта для нескольких сущностей, некоторые из которых зависят от правильного импортапредыдущий тип объекта. (например, Отдел, затем Сотрудник, затем Ролевые назначения ...)
  • В связи с предстоящей реализацией мы хотели бы получить
    • мониторинг и управление (запуск, прерывание, пауза, возобновление)
    • перезапускаемость
    • простая реконфигурируемость последовательности в производстве (возможно, с помощью графического интерфейса пользователя или внешнего редактора)
    • возможно, некоторые отчеты и статистика.

Как я понимаю, этого можно достичь с помощью сервера Spring Cloud Data Flow (SCDF) и некоторой реализации / комбинации задач / пакетов.

Поправьте меня, если я ошибаюсь, но одна работа Spring Batch с ее жестко запрограммированным потоком кажется мне не очень подходящей. Или существует простой способ редактирования и повторного развертывания Spring Batch с измененным потоком в процессе производства? Я ничего не смог найти, даже простой в использовании редактор для XML-представления партии.

1 Ответ

1 голос
/ 11 декабря 2019

Да, я полагаю, что вы можете достичь своих целей проектирования, используя поток данных Spring Cloud вместе с задачей Spring Cloud / Spring Batch.

Можно управлять потоком нескольких заданий Spring Batch (используя составную задачу). используя Spring Cloud Data Flow, как вы указали в другом потоке SO.

Внешние задания Kettle запускаются и опрашиваются с помощью Carte REST API. Фактически, это одна реализация Kettle, вызываемая с отдельными параметрами для каждой импортируемой сущности.

Существует настраиваемый ориентированный граф заданий импорта для нескольких сущностей, некоторые из которых зависят от правильного импортапредыдущий тип объекта. (например, Отдел, затем Сотрудник, затем Ролевые назначения ...)

Опять же, оба вышеупомянутых могут управляться как составная задача (с составной задачей, состоящей из обычной задачи, а также Spring Batchна основе приложений).

Вы можете управлять параметрами, передаваемыми каждой задаче / пакету при вызове, через параметры пакетного задания или свойства приложения задачи / пакетного задания или просто аргументы командной строки.

С помощьюВ будущей реализации нам бы хотелось, чтобы мониторинг и управление (запуск, прерывание, пауза, возобновление) перезапускались легко, реконфигурируемость последовательности в производстве (возможно, с помощью графического интерфейса пользователя или внешнего редактора), возможно, некоторые отчеты и статистика.

Spring Cloud Data Flow поможет вам достичь этих целей. Вы можете посетить Руководство разработчика задач и Руководство по мониторингу задач для получения дополнительной информации.

Вы также можете проверить Пакетное руководство разработчика изсайт тоже.

...