Поток данных Spring Clould и пакетные задания Spring Clould Task

Мы использовали весеннюю партию для следующих случаев использования

  1. Чтение данных из файла, обработка и запись в целевую базу данных (пакетная обработка запускается по прибытии файла)
  2. Чтение данных из удаленной базы данных, обработка и запись в целевую базу данных (выполняется с заданным интервалом, запускается Autosys)

В связи с планом по переносу всех онлайн-приложений на микросервисы с весенней загрузкой и PCF, мы планируем провести аналогичное упражнение на стороне партии, если это повысит ценность.

В новом мире задача весеннего облачного пакетного задания будет считывать файл из хранилища S3 (ECSS3).
Я ищу здесь хороший дизайн (по возможности избегайте слишком большого количества каналов / фильтров и оркестровки), входные данные варьируются от 1 до 20 миллионов записей.

  1. ECSS3 будет уведомлять о прибытии файла, отправив http-запрос, рабочий процесс будет: clould stram httpsource-> launch clould batch job task, которая будет читать из хранилища объектов, обрабатывать и сохранять записи в целевой базе данных.
  2. Задание Spring Clould запускается из планировщика PCF для чтения из удаленной базы данных, обработки и сохранения в целевой базе данных

С указанным выше дизайном я не вижу смысла обертывать пакетное задание пружины в задачу clould и запускать в PCF с потоком данных Spring.

Я что-то упустил? Является ли в этом случае PCF / SpringClouldDataFlow излишеством?


person Nitty    schedule 04.11.2017    source источник


Ответы (1)


Организация пакетных заданий в облачной среде может принести новые преимущества решению. Например, может быть полезна модель отказоустойчивости, которую поддерживает PCF. Spring Cloud Task (SCT) обычно запускается в недолговечном контейнере; если он выйдет из строя, PCF восстановит его и запустит в нем.

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

Что касается применимости Spring Cloud Data Flow (SCDF) + PCF, опять же, это сводится к вашим бизнес-требованиям. Возможно, вы не используете его сейчас, но Spring Batch Admin - EOL в пользу панели мониторинга SCDF. Следующие вопросы могут помочь понять ценностное предложение SCDF + SCT.

Вам нужно отслеживать общее состояние, прогресс и работоспособность пакетных заданий? Возможно, вам нужно собрать несколько пакетных заданий как DAG? Как насчет визуального создания серию Задач и полностью управлять ею из Личного кабинета?

Кроме того, когда пакетные задания используются вместе с SCT, SCDF и PCF Scheduler, вы получите возможность отслеживать все это с помощью диспетчера приложений PCF.

person Sabby Anandan    schedule 04.11.2017