토리맘의 한글라이즈 프로젝트 logo 토리맘의 한글라이즈 프로젝트

스프링 클라우드 데이터 플로우 공식 레퍼런스를 한글로 번역한 문서입니다.

전체 목차는 여기에 있습니다.


이 페이지엔 stream-applications의 최신 3.x 버전(릴리즈 2020.0.0+)에 관한 정보가 담겨 있으며, 2.x (Einstein) 릴리즈와는 호환되지 않는 새로운 기능과 몇 가지 변경점을 소개한다. 2.x 릴리즈에 대한 정보를 찾고 있다면 pre-packaged applications 2.x를 읽어보면 된다.

스프링 팀은 애플리케이션들을 선별해서 미리 패키징해 제공하고 있기 때문에, 이 애플리케이션들을 이용해 다양한 데이터를 통합하고 파이프라인을 조합해서 프로덕션용 Spring Cloud Data Flow를 개발하고, 학습하고, 실험해볼 수 있다.

목차


Getting Started

미리 패키징해서 제공하는 스트리밍 애플리케이션들은 모두:

스트림, 태스크 애플리케이션들은 Data Flow UI나 쉘을 사용해서 등록하면 된다.

app register 명령어를 사용하면 애플리케이션들을 개별적으로 등록할 수 있고, app import 명령어를 사용하면 벌크로 등록할 수 있다.

스트림 애플리케이션을 등록할 땐, 카프카와 RabbitMQ 중 어떤 것을 사용하는지에 따라 그에 맞는 URL을 사용하면 된다:

Kafka

RabbitMQ

Data Flow UI에선 아래 이미지에 보이는 것처럼 기본 링크가 미리 채워져 있다:

Bulk register applications

Data Flow 쉘을 사용한다면, 아래 예시처럼 애플리케이션을 벌크로 임포트하고 등록하면 된다:

dataflow:>app import --uri https://dataflow.spring.io/kafka-maven-milestone

Stream Applications

스프링 팀이 스트림 애플리케이션을 개발하고 관리할 땐 보통, 주요 스프링 부트 릴리즈나 Spring Cloud Stream 릴리즈에 일정을 맞춰서 진행한다. 이 애플리케이션들은 스프링 public 메이븐 레포지토리도커허브에 올라간다. 미리 패키징해서 제공하는 스트림 애플리케이션은 결국 특정한 바인더 구현체를 사용해 빌드한 스프링 부트 executable jar다. 모든 스트림 앱은 RabbitMQ와 카프카를 사용하는 executable 애플리케이션을 별도로 나눠서 제공한다.

다음은 현재 사용할 수 있는 스트림 애플리케이션들을 정리한 테이블이다:

Source Processor Sink
cdc-debezium aggregator analytics
file bridge cassandra
ftp filter dataflow-tasklauncher
geode groovy elasticsearch
http header-enricher file
jdbc http-request ftp
jms image-recognition geode
load-generator object-detection jdbc
mail semantic-segmentation log
mongodb script mongodb
mqtt splitter mqtt
rabbit transform pgcopy
s3 twitter-trend rabbit
sftp   redis
syslog   router
tcp   rsocket
time   s3
twitter-message   sftp
twitter-search   tcp
twitter-stream   throughput
websocket   twitter-message
zeromq   twitter-update
    wavefront
    websocket
    zeromq

Bulk Registration of Stream Applications

Spring Cloud Data Flow에선 표준 properties 파일을 이용해 애플리케이션을 벌크 등록할 수 있다. 편의를 위해 기본 제공하는 모든 스트림, 태스크/배치 앱들의 애플리케이션 URI(메이븐이나 도커 전용)를 가지고 있는 스태틱 프로퍼티 파일도 게시하고 있으므로, 바로 활용해도 좋다. 이 파일을 사용하면 모든 애플리케이션 URI를 한 번에 등록할 수 있다. 아니면 개별적으로 등록해도 되고, 필요한 애플리케이션 URI만 들어있는 자체 커스텀 프로퍼티 파일을 만들어도 된다. SCDF를 처음 시작할 때는 앱들을 벌크로 등록해서 쓰면 편리할 거다. 너무 복잡하게 가기보단, 커스텀 프로퍼티 파일을 만들어 필요한 애플리케이션 URI 목록만 “집중해서” 관리하는 것을 권장한다.


Supported Spring Cloud Stream Applications

Artifact Type Latest Stable Release SNAPSHOT Release
  spring-cloud-stream 3.1.x spring-boot 2.5.x  
RabbitMQ + Maven https://dataflow.spring.io/rabbitmq-maven-latest https://dataflow.spring.io/rabbitmq-maven-latest-snapshot
RabbitMQ + Docker (Docker Hub) https://dataflow.spring.io/rabbitmq-docker-latest https://dataflow.spring.io/rabbitmq-docker-latest-snapshot
RabbitMQ + Docker (Harbor Registry) https://dataflow.spring.io/rabbitmq-harbor-latest N/A
Kafka + Maven https://dataflow.spring.io/kafka-maven-latest https://dataflow.spring.io/kafka-maven-latest-snapshot
Kafka + Docker https://dataflow.spring.io/kafka-docker-latest https://dataflow.spring.io/kafka-docker-latest-snapshot
Kafka + Docker (Harbor Registry) https://dataflow.spring.io/kafka-harbor-latest N/A

Supported Spring Cloud Task and Batch Applications

Artifact Type Latest Stable Release SNAPSHOT Release
  spring-cloud-stream 2.1.x spring-boot 2.1.x  
Maven https://dataflow.spring.io/task-maven-latest https://dataflow.spring.io/Elston-BUILD-SNAPSHOT-task-applications-maven
Docker https://dataflow.spring.io/task-docker-latest https://dataflow.spring.io/Elston-BUILD-SNAPSHOT-task-applications-docker

여기서 부터 나오는 테이블들은 이전 릴리즈 버전을 정리해둔 건데, 참고만 하도록 하자. 더 이상 지원하지 않을 수도 있으니 주의해야 한다. (ex. EOL 스프링 부트 릴리즈에 따라 다르다).


Previous Releases of Stream Applications (2020)

Artifact Type Latest Stable Release SNAPSHOT Release
  spring-cloud-stream 3.0.x spring-boot 2.3.x  
RabbitMQ + Maven https://dataflow.spring.io/rabbitmq-maven-2020 %stream-app-rabbit-maven-2020-snapshot”%
RabbitMQ + Docker (Docker Hub) https://dataflow.spring.io/rabbitmq-docker-2020 https://dataflow.spring.io/rabbitmq-docker-2020-snapshot
RabbitMQ + Docker (Harbor Registry) https://dataflow.spring.io/rabbitmq-harbor-2020 N/A
Kafka + Maven https://dataflow.spring.io/kafka-maven-2020 https://dataflow.spring.io/kafka-maven-2020-snapshot
Kafka + Docker https://dataflow.spring.io/kafka-docker-2020 https://dataflow.spring.io/kafka-docker-2020-snapshot
Kafka + Docker (Harbor Registry) https://dataflow.spring.io/kafka-harbor-2020 N/A

Previous Releases of Stream Applications (Einstein)

Artifact Type Previous Release
  spring-cloud-stream 2.0.x spring-boot 2.0.x
RabbitMQ + Maven https://dataflow.spring.io/rabbitmq-maven-einstein
RabbitMQ + Docker https://dataflow.spring.io/rabbitmq-docker-einstein
Kafka + Maven https://dataflow.spring.io/kafka-maven-einstein
Kafka + Docker https://dataflow.spring.io/kafka-docker-einstein

Previous Releases of Spring Cloud Task and Batch Applications

Artifact Type Previous Release
  spring-cloud-stream 2.0.x spring-boot 2.0.x
Maven https://dataflow.spring.io/Dearborn-SR1-task-applications-maven
Docker https://dataflow.spring.io/Dearborn-SR1-task-applications-docker

Next :
Pre-packaged Applications (Einstein.SR9)
미리 패키징해 제공하는 스트림 애플리케이션(2.x) 목록과 벌크로 등록하는 방법

전체 목차는 여기에 있습니다.

<< >>

TOP