Может ли Spring Batch запустить контейнер с внешним приложением?
Допустим, у нас есть REST-приложение с конечными точками REST, которое мы можем поместить в контейнер Docker.
Допустим, наша весенняя партия Item Processor
любит использовать вышеупомянутое приложение, чтобы получить информацию бизнес-логики о записи, которую он обрабатывает.
Нам нравится это приложение REST, которое будет использоваться исключительно Spring Batch
процесс, и нам не нравится, чтобы процесс Batch связывался с приложением Production REST, а имел какой-то собственный экземпляр приложения REST.
Нам также нравится, что этот экземпляр приложения будет создаваться автоматически при запуске процесса Spring Batch, поэтому не требуется никакого дополнительного вмешательства человека или настройки.
Возможно ли, что пакет Spring будет использовать run и использовать службу REST в качестве контейнера Docker (может быть, как testconainer или, возможно, docker compose?), Чтобы он мог каким-то образом использовать его "внутри"?
Это разумная архитектура?
1 ответ
Я бы порекомендовал:
- создайте настраиваемую сеть докеров и присоедините к ней как контейнер приложений Spring Batch, так и контейнер приложений REST. Эти два контейнера будут видны только в этой сети.
- прикрепите контейнер приложения Spring Batch к контейнеру REST API, чтобы обработчик элементов мог видеть конечную точку API REST и совершать вызовы
Вы можете найти официальный учебник о том, как создавать собственные сети докеров здесь.
Надеюсь это поможет.