SCDF는 stream app에 토픽명을 어떻게 주입해줄까?

업데이트:

spring cloud dataflow에서 spring cloud stream 파이프라인 생성/배포시에 어떻게 stream app에게 바인딩할 토픽명을 알려주는지 궁금해서 찾아보고 정리

코드 따라가기

  1. scdf는 dsl을 파싱해서 Destination 정보를 가져온다.
  2. scdf는 destination 이름을 stream app의 binding property key로 주입해준다.
  3. 위 프로퍼티 key는 spring.cloud.stream.bindings.input.destination 이고, 이 프로퍼티는 spring cloud stream 앱에서 바인더의 destination(토픽!) 이름으로 설정된다. 참고
  4. scdf는 AppDeploymentRequest 객체로 프로퍼티를 wrapping해서 skipper에게 배포 REST 요청을 한다.
  5. skipper 서버는 REST 요청을 받는다
  6. skipper 서버는 해당 요청을 deployer에게 위임한다. AppDeploymentRequest 객체를 그대로 넘긴다!
  7. (kubernetes) deployer는 배포한다.

요약

  • 토픽명은 scdf에서 dsl을 파싱한 destination 으로 정해진다.
  • 실행될 spring cloud stream app의 프로퍼티로 scdf가 주입해준다.
  • skipper나 deployer는 프로퍼티를 전달하고 배포하는 역할만 한다.

댓글남기기