Пакетная обработка для микро сервис - Spring сервис дизайн? - PullRequest
0 голосов
/ 18 мая 2018

Мне любопытно узнать, какой подход к проектированию вы бы использовали в следующем сценарии?

У меня есть FTP-сервер, на который мое приложение Java Spring (Service 1) отправится и загрузит файл.Затем я сохраню этот файл в корзине S3.этот файл может содержать до миллиона записей.Будет еще одна микросервисная служба (служба 2), которая должна будет прочитать данные этого файла.

  1. Как бы вы разработали и предоставили эти миллионы записей из service1, чтобы они могли быть доступны для чтенияпо услуге 2?

  2. Какой технологический стек вы бы использовали с обеих сторон и почему?

    • эти обе службы будут размещены на одних и тех же серверах (на данный момент).

Можете ли вы предложить быстрое и эффективное решение?

Спасибо

1 Ответ

0 голосов
/ 18 мая 2018

Вот мой подход.Я бы даже не создавал 2 сервиса при условии вашего объема работы.Единственный сервис будет использовать Spring Integration и Spring Batch.

  • Компонент Spring Integration получит файл с FTP, скопирует его на S3 и передаст Spring Batch для обработки
  • После обработкис помощью Batch сохраняйте записи.

Если задание запускается время от времени и не имеет большого количества записей, я бы даже не использовал Spring Batch.Я бы просто использовал Spring Integration и параллельно обрабатывал записи.Но если вы знаете, что у вас будут миллионы записей и тонны файлов, вам следует рассмотреть возможность использования Spring Batch для пакетной обработки.

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