Spring Cloud DataFlow overview

d15b281faf477d64c415afb72a76aa3b.png

97a7924b62b9be7f129abd1951ae7b53.jpgАвтор статьи: Андрей Поляков

Старший разработчик в Unlimint

Хабр, добрый день! Что первое приходит в голову, когда вы слышите «ETL»? Скорее всего airflow?

По сути airflow — это стандарт де-факто в мире обработки и трансформации данных. Но в случае если в разработка ведется на java, то тогда придется либо переучивать разработчиков на python, либо нанимать еще python разработчиков. В большинстве случаев хочется вносить минимум изменений в процесс разработки и тех. стек. Решение есть! Фреймворк Spring Cloud предоставляет DataFlow — фреймворк для организации ETL в spring среде.

Архитектура

Фреймворк DataFlow состоит из двух основных компонентов:

Высокоуровневая архитектура показана на схеме ниже:

e0a348105e51904735de4a16836f578d.png

Основная точка входа для взаимодействия с DataFlow — это REST API сервиса Data Flow Server. Web Dashboard и Data Flow Shell также взаимодействуют с Data Flow Server. Система может работать на различных платформах: Cloud Foundry, Kubernetes или на вашем локальном компьютере.

Обратите внимание, что и Data Flow Server, и Skipper Server хранят данные (и свое внутреннее состояние) в своей собственной РСУБД. Можно подключить одну физическую СУБД к обоим сервисам, так как каждый из них создает свой собственный namespace/schema внутри СУБД. По умолчанию каждый из сервисов использует встроенную базу данных H2.

Давайте познакомимся поближе с Data Flow Server. Он отвечает практически за все

© Habrahabr.ru