SCDF는 stream app에 토픽명을 어떻게 주입해줄까?
업데이트:
spring cloud dataflow에서 spring cloud stream 파이프라인 생성/배포시에 어떻게 stream app에게 바인딩할 토픽명을 알려주는지 궁금해서 찾아보고 정리
코드 따라가기
- scdf는 dsl을 파싱해서 Destination 정보를 가져온다.
- scdf는 destination 이름을 stream app의 binding property key로 주입해준다.
- 위 프로퍼티 key는
spring.cloud.stream.bindings.input.destination
이고, 이 프로퍼티는 spring cloud stream 앱에서 바인더의 destination(토픽!) 이름으로 설정된다. 참고 - scdf는
AppDeploymentRequest
객체로 프로퍼티를 wrapping해서 skipper에게 배포 REST 요청을 한다. - skipper 서버는 REST 요청을 받는다
- skipper 서버는 해당 요청을 deployer에게 위임한다.
AppDeploymentRequest
객체를 그대로 넘긴다! - (kubernetes) deployer는 배포한다.
요약
- 토픽명은 scdf에서 dsl을 파싱한 destination 으로 정해진다.
- 실행될 spring cloud stream app의 프로퍼티로 scdf가 주입해준다.
- skipper나 deployer는 프로퍼티를 전달하고 배포하는 역할만 한다.
댓글남기기