Определение правильного стартера Spring Boot


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

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

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

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

Большое спасибо за помощь
Аюшман

P.S. Я могу предоставить точную информацию о работе, но не хочу объединять вопрос.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

Спасибо ! Я последовал твоему совету.

ayushmad 22.05.2019 16:30

Другие вопросы по теме