간단하고 효율적인 Spring/Kafka 데이터 스트림 노트
DZone.com의 RSS

간단하고 효율적인 Spring/Kafka 데이터 스트림

저는 Spring Cloud Data Flow 스트림과 배치 작업을 수행할 기회가 있었습니다. 스트림은 현재 프로덕션 환경에서 사용되고 있으며 성능도 우수합니다. 주로 Debezium을 사용하여 데이터베이스 변경 사항을 Soap 엔드포인트로 전송하거나, Soap 엔드포인트를 제공하여 데이터베이스에 데이터를 쓰는 데 사용했습니다. 이벤트는 Kafka를 통해 전송되었습니다. Spring Cloud Data Flow는 스트림과 작업을 관리하는 애플리케이션도 제공합니다. 스트림은 Kafka를 통해 전송되는 이벤트를 통해 분리된 별도의 애플리케이션인 데이터 소스(source)와 데이터 싱크(sink)로 구성됩니다. 스트림 1은 Debezium 소스를 사용하여 데이터베이스 변경 사항을 Kafka를 통해 싱크로 보내고, 싱크는 이벤트를 애플리케이션으로 보내는 Soap 요청으로 변환합니다. 스트림 2는 애플리케이션으로부터 Soap 요청을 받아 Kafka로 이벤트를 보냅니다. 싱크는 이벤트를 받아 해당 이벤트에 대한 데이터베이스 항목을 생성합니다.