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

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

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


스프링 팀은 최근에 미리 패키징해서 제공하는 스트림 애플리케이션들을 재설계했다. 새로 설계한 애플리케이션들을 배포할 땐 릴리즈 이름에 2020.0.0-RC2와 같은 날짜를 사용한다. 이렇게 릴리즈한 스트림 애플리케이션들은 3.0.0 버전부터 시작하기 때문에, 3.x(+) 버전도 참조하고 있다. 여기서는 많은 것들이 개선되면서 2.x 라인과는 호환되지 않는 변경 사항이 들어갔다. 따라서 2.x 애플리케이션을 기반으로 정의한 기존 Spring Cloud Data Flow 스트림은 3.x 애플리케이션으로 바로 전환되지 않는다. 2.x Spring Cloud Stream 애플리케이션을 3.x로 마이그레이션할 때 알아둬야 할 변경점들은 아래에 요약해뒀다:

2.x3.x 애플리케이션을 혼용하는 파이프라인은 지원하지 않는다. 애플리케이션 버전이 다르면 Spring Cloud Stream 바인더 버전도 다르다. 다른 버전을 결합하려고 하면 간혹 문제가 발생하는 것으로 알려져 있다. 기존 데이터 파이프라인에 3.x에서 사용할 수 없는 앱이 필요하다면 업그레이드하지 않는 게 좋다.

목차


Application changes

아래 있는 애플리케이션은 3.x 라인에서 제거하거나, 다른 애플리케이션으로 대체했거나, 이름이 변경된 애플리케이션들이다. replacement 컬럼에 None이라고 나와있는 애플리케이션은, 커뮤니티에서 많이 언급되지 않는 이상 지원을 중단한다는 의미다.

Retired Replacement
counter-processor None
counter-sink analytics-sink
gemfire-cq-source geode-source with cq option
gemfire-source geode-source
gemfire-sink geode-sink
groovy-filter-processor groovy-processor
groovy-transform-processor groovy-processor
grpc-processor None
hdfs-sink None
httpclient-processor http-request-processor
loggregator-source None
pmml-processor None
pose-estimation-processor None
python-http-processor Polyglot 레시피를 사용해라
python-jython-processor Polyglot 레시피를 사용해라
redis-pubsub-sink redis-sink
scriptable-transform-processor script-processor
sftp-dataflow-source sftp-source with function composition
task-launcher-dataflow-sink tasklauncher-sink
tasklaunchrequest-transform-processor None
tcp-client-processor None
tcp-client-source None
tensorflow-processor Custom app using tensorflow-common function library
trigger-source time-source
triggertask-source time-source
twitter-sentiment-processor None
twitterstream-source twitter-stream-source

Property names

아래 있는 애플리케이션들은 2.x 애플리케이션과 동일한 이름으로 3.x 라인으로 넘어온 애플리케이션들이다. 각 링크를 누르면 해당 애플리케이션에서 사용하는 프로퍼티 키를 상세히 비교해둔 테이블로 이동한다. 이중 일부 앱은 모든 프로퍼티가 달라지지 않고 그대로 넘어갔지만, 참고용으로 함께 정리해뒀다.

Sources Processors Sinks
cdc-debezium-source aggregator-processor cassandra-sink
file-source filter-processor file-sink
ftp-source header-enricher-processor ftp-sink
http-source image-recognition-processor jdbc-sink
jdbc-source object-detection-processor log-sink
jms-source splitter-processor mondodb-sink
load-generator-source   mqtt-sink
mail-source   pgpcopy-sink
mongodb-source   rabbit-sink
mqtt-source   router-sink
rabbit-source   s3-sink
s3-source   sftp-sink
sftp-source   tcp-sink
syslog-source   throughput-sink
tcp-source   websocket-sink
time-source    

Function Composition

3.x 스트림 애플리케이션들은 함수 기반 애플리케이션이다. 즉, functional 인터페이스를 노출하는 아티팩트 의존성을 가지고 있으며, 대부분의 로직을 이 아티팩트로 제공한다. 이 디자인은 function composition에 적합한 설계다. 사실, 미리 패키징해 제공하는 모든 소스 애플리케이션들은 function composition을 지원하는 데 필요한 의존성이 포함돼 있으며, 앱 자체에선 이 의존성을 사용해 필터링, 변환, 헤더 추가enrichment, 태스크 시작 요청 생성 등의 로직을 수행한다. 예시가 궁금하다면 time source 테스트sftp source 테스트 코드를 확인해보면 된다.


Next :
Application Metadata
애플리케이션 프로퍼티 메타데이터를 생성하고 사용해보기

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

<< >>

TOP