Определение правильного весеннего загрузочного стартера - PullRequest
0 голосов
/ 15 апреля 2019


Я хотел создать приложение, которое прослушивает очередь и выполняет серию шагов.По существу, приложение должно прослушивать Queue1 и:
- получить некоторые данные из ServiceA [небольшой объем данных]
- получить некоторые данные из ServiceB [небольшой объем данных]
- обновить некоторую информацию в Service C [На основе данных]
- Создать количество сообщений [на основе данных] в очереди 2..

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

Я начал изучать Spring Batch или Spring Task для этого.Spring batch предоставляет действительно хорошие конструкции, такие как Tasklet и Steps, но есть множество комментариев, рекомендующих надежно подключить Spring Batch к базе данных и узнать, как она предназначена для управления огромными объемами данных (здесь мне не нужна надежность, поскольку очередь и идемпотентная природа обеспечиваюттот.).Хотя я могу передавать данные с помощью контекста выполнения, существуют рекомендации против него.

Вопрос:
- Существуют ли более простые стартеры в экосистеме Spring Boot, которые предоставляют рабочие процессы / интерфейс, похожий на работу, который я должен использовать?
- Это допустимый вариант использования для Spring Batch или это из-за неправильного проектирования / неправильного использования шагов?

Большое спасибо за помощь
Ayushman

PS: Iможет предоставить точную информацию о работе, но не хотел связывать вопрос.

1 Ответ

1 голос
/ 15 апреля 2019

У меня было два проекта с Spring Batch.Я не пробовал Spring Task.

Сказав это, мой ответ несколько предвзят.Spring Batch немного печально известен своей настройкой.Если ваше приложение достаточно простое, просто используйте «spring-boot-starter-amqp».Этого будет достаточно.

В любом случае, если вы решите использовать Spring Batch (для его функций Job и Step Aspect или других функций), вы можете настроить использование только базы данных в памяти (поскольку вам не нужны какие-либофункция повтора / отката, которую он предоставляет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...