백엔드
Spring Cloud Stream 도입하기
두줄요약
Spring Cloud Stream으로 데이터 추출과 조합 파이프라인을 구성한 사례를 소개했습니다. 멀티 모듈과 Function 규격화를 통해 확장성과 결합도 개선 방향도 제시했습니다.
핵심 내용
- Spring Cloud Stream의 메시지 기반 구조와 Function 중심 구현 방식 소개
- spring-kafka 대비 코딩 스타일 규격화, 결합도 완화, Binder 추상화로 브로커 전환 용이성 강조
- 데이터 추출, 조합, 파이프라인 연결, 비동기 호출, 메시지 체이닝을 통한 처리 흐름 구성 사례 제시
구조와 흐름
- 여러 어드민 API와 하둡 데이터를 순차 또는 비동기로 연결하는 추출 파이프라인 구성
|연산과 메시지 전달을 활용한 Function 연결 방식 비교- 멀티 모듈과 공통 인터페이스로 Function 및 데이터 규격화
선택 이유
- 외부 어드민 API의 응답 포맷과 코드 차이를 흡수하며 코드 영향 최소화
- 신규 소스 추가 시 Function 확장 또는 데이터 추가로 대응 가능
- when 분기 누락 방지와 sealed 타입으로 변환 안정성 확보
주의할 점
- 메시지 기반 처리 후 결과 저장을 위한 Redis 같은 임시 보관소 필요
- 예외 발생 시 기본 재처리와 별도 오류 핸들러, DLQ 등 운영 전략 필요
- 처음부터 과도하게 분리하기보다 공통점과 분리 지점을 찾는 점진적 적용 필요
