Должен ли я использовать сервер потоков данных Spring для моих новых заданий Spring Batch? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть требование создать около 10 рабочих мест Spring Batch, которые будут состоять из читателя и писателя. Все читатели читают данные из разных Oracle БД и записывают в разные Oracle БД (исходный и целевой серверы разные). И задания Spring реализованы с использованием Spring Boot. Также все 10+ заданий будут упакованы в один Jar-файл. Пока все хорошо.

Теперь клиент также хочет, чтобы какой-то пользовательский интерфейс отслеживал состояние работы и выступал в качестве организатора работы. Я просмотрел документацию по Spring Dataflow Server для требований пользовательского интерфейса. Но я не уверен, что это будет служить цели, или есть какой-либо другой альтернативный вариант, доступный для мониторинга состояния задания, остановки и запуска заданий всякий раз, когда это требуется из пользовательского интерфейса.

Кроме того, как можно отделить 10+ заданий внутри одного Jar-сервера Spring Data Flow Server, если это единственный вариант для пользовательского интерфейса.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 13 апреля 2020

У меня нет репутации, чтобы добавить комментарий. Итак, я выкладываю ответ здесь. Хотя я знаю, что это не способ поделиться ссылками в качестве ответа.

Это может помочь вам: spring-batch-job-мониторинг-with- angular -front-end-real- времени прогресс-бар

1 голос
/ 13 апреля 2020

Наблюдаемость весенних пакетных заданий дается данными, которые сохраняются средой в реляционной базе данных ... instances..executions..timestamps ... read count..write count .... У вас есть другой способ использовать эти данные. SQL клиент, JMX, Spring Batch API (JobExplorer, JobOperator), Spring Admin (устарело в пользу сервера потока данных в облаке).

Поток данных - это оркестратор, позволяющий выполнять конвейеры данных с потоками и задачами (конечные и недолговечные / контролируемые услуги). Для ваших заданий мы можем представить, как обернуть каждое задание в задание и создать многозадачный конвейер. Поток данных дает вам статус каждого выполнения. Вы также можете предоставить свои данные мониторинга, выдвинув их, например, в виде метрик в притоке effxDb ...

...