Коллеги всем добрый день, такой вопрос. Задача: нужно сходит на 6 разных апи, с первого апи придет лист сущностей, достать от туда id и с этой id сходить еще на 5, это должна быть джоба, раз в 2 часа, вопрос как это лучше сделать? Мои примерные варианты:
1) просто шедуллер, просто ресттеплейт и все сделать ручками через циклы и/или стримы
2) прочитал про spring batch (не много), вроде есть джобы, вроде что то похожее, но какжется вообще не к месту, ибо вроде как у меня совсем не пакетом обработка
3) ?? спринг интегратион здесь к месту? стоит читать?
Суммарный вопрос, что посоветуете? как схожие задачи вы у себя реализуете? К месту ли здесь батч или интегратион? в какю сторону покапать? или все этто нах и сделать все ручками. Конечно можно все сделать ручками, и это вроде очень простой вариант,но может есть какие то практисы как это делают?
1. Как ты сказал решение в лоб
2. Sheduled +
@Async, в твоем случае запросы легко параллелятся
3. Sheduled + Reactive feign client, упрощает 2 вариант, чтобы обвязки руками не писать
4. Sheduled + Реактивные стримы, reactor, spring web client, результат как во втором, но меньше ресурсов будет потребляться, проще обработка такого сценария
5. Spring Integration может и к месту, но если уж браться за интеграции стоит сразу в сторону Camel смотреть, у него много опций для такого
в целом думаю, как единичное решение тебе подойдет что-то из 2-4 вариантов, в зависимости от стиля проекта
если же нужен полноценный интеграционный ландшафт, то стоит сразу в сторону Camel смотреть