Intro
๊ฐ์
Spring Cloud Data Flow: ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ๊ธฐ๋ฐ์ผ๋ก, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ(์คํธ๋ฆผ & ๋ฐฐ์น)์ ์์ฝ๊ฒ ๊ตฌ์ฑํ๊ณ ์ด์ํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ซํผ.
์ฃผ์ ์ฅ์
Spring Cloud Stream, Spring Cloud Task ๋ฑ์ ํ์ฉํด ์คํธ๋ฆฌ๋ฐ ์ฒ๋ฆฌ์ ๋ฐฐ์น ์ฒ๋ฆฌ ํตํฉ
REST API, ์น UI, CLI(Shell) ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํ์ดํ๋ผ์ธ ๊ด๋ฆฌ
๋ฐ์ดํฐ ์์ค(Source) โ ํ๋ก์ธ์(Processor) โ ์ฑํฌ(Sink) ํํ์ ์คํธ๋ฆผ ํ์ดํ๋ผ์ธ์ ์๊ฐ์ ์ผ๋ก ๊ด๋ฆฌ
์ค์ผ์ผ ์์ ๊ตฌ์กฐ๋ก ํ์ฅ์ฑ ์ฉ์ด
๊ตฌ์ฑ ์์
Data Flow Server: ์คํธ๋ฆผยทํ์คํฌ ์ ์/๋ฐฐํฌ/๋ชจ๋ํฐ๋ง์ ์ค์ฌ
Skipper: ๋ฒ์ ๊ด๋ฆฌ, ๋กค๋ง ์ ๋ฐ์ดํธ ๋ฐ ๋กค๋ฐฑ ๋ฑ ์คํธ๋ฆผ ์ด์ ์ ๋ฐ ์ง์
Shell: CLI ํ๊ฒฝ์์ ์๋ฒ์ ํต์ ํ๋ฉฐ ์คํธ๋ฆผยทํ์คํฌ ์ ์, ๋ฐฐํฌ, ์กฐํ ๋ฑ ์ํ
SCDF ๋ก์ปฌ ์ค์น ๋ฐ ์คํ
Docker Compose๋ก ๋น ๋ฅด๊ฒ ์ธํ
์๋ ์์ docker-compose.yml
ํ์ผ์ ์ค๋นํ๊ณ docker-compose up -d
๋ก ์ปจํ
์ด๋๋ฅผ ๋์ด๋ค.
๊ตฌ์ฑ
Data Flow Server, Skipper, MySQL, RabbitMQ ์ปจํ ์ด๋๊ฐ ํจ๊ป ์คํ
dataflow
DB์dataflow
์ ์ ๋ฅผ ์ฌ์ฉ
์คํ ๋ช ๋ น์ด
์ ์ ๊ตฌ๋ ํ ๋ธ๋ผ์ฐ์ ์์
http://localhost:9393/dashboard
์ ์ํ๋ฉด SCDF ์น UI ํ์ธ ๊ฐ๋ฅ
Shell ์ฌ์ฉ
Shell์ CLI๋ก ์คํธ๋ฆผยทํ์คํฌ ์ ์์ ๋ฐฐํฌ๋ฅผ ๋๋๋ค.
๋ค์ด๋ก๋ ํ ์คํ ์์:
SCDF ์๋ฒ์ ์ ์:
์ดํ
stream list
,task list
๋ฑ ๋ช ๋ น์ด๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
์คํธ๋ฆผ ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ ์์
์ ํ๋ฆฌ์ผ์ด์
๋ฑ๋ก
๋ฏธ๋ฆฌ ๋น๋๋ Spring Cloud Stream ์ ํ๋ฆฌ์ผ์ด์ (์์ค, ํ๋ก์ธ์, ์ฑํฌ)์ ๋ฑ๋กํด์ผ ํ๋ค.
์: HTTP ์์ค์ Log ์ฑํฌ ๋ฑ๋ก
source
,sink
,processor
๋ฑ ํ์ ์ ๋ง์ถฐ ๋ฑ๋ก
์คํธ๋ฆผ ์ ์ & ๋ฐฐํฌ
์คํธ๋ฆผ ์ ์ (์์ค โ ์ฑํฌ ๊ฐ ๋จ์ ํ์ดํ๋ผ์ธ)
๋ฐฐํฌ
๋ฐฐํฌ ์๋ฃ ํ
http://localhost:9393/dashboard
์์ ํ์ดํ๋ผ์ธ ์ํ ํ์ธ ๊ฐ๋ฅ
์คํธ๋ฆผ ํ
์คํธ
http-source
๋ HTTP POST๋ก ๋ฐ์ดํฐ ์์log-sink
์ปจํ ์ด๋ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ฉด"Hello SCDF"
๋ฉ์์ง ํ์ธ ๊ฐ๋ฅ
๋ฐฐ์น(ํ์คํฌ) ๊ตฌ์ฑ & ์ด์
ํ์คํฌ ๋ฑ๋ก
Spring Batch ์ ํ๋ฆฌ์ผ์ด์ ์ Docker ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด ํ์คํฌ๋ก ๋ฑ๋ก
--type task
๊ฐ ํต์ฌ
ํ์คํฌ ์ ์ & ์คํ
์ ์:
์คํ:
์คํ ๊ฒฐ๊ณผ(์ฑ๊ณต/์คํจ, ๋ก๊ทธ)๋ UI ๋๋ Shell๋ก ํ์ธ ๊ฐ๋ฅ
์ค์ผ์ค๋ง(์ ํ)
SCDF๋ Kubernetes๋ Cloud Foundry ๋ฑ๊ณผ ์ฐ๋ํด ํ์คํฌ ์ค์ผ์ค๋ง ๊ฐ๋ฅ
๋ก์ปฌ Docker ํ๊ฒฝ์์ ์ ํ์ ์ผ ์ ์์ผ๋ฏ๋ก, ์ด์ ํ๊ฒฝ์์ ๊ณ ๋ คํด๋ณด์
์ด์ ๋ชจ๋ํฐ๋ง
Data Flow UI๋ก ์คํธ๋ฆผยท๋ฐฐ์น ์์ ์ํ ์ผ๊ด ๊ด๋ฆฌ
๊ฐ ์ปจํ ์ด๋(Pod)์ ๋ก๊ทธ ๋ฐ ๋ฉํธ๋ฆญ์ ์กฐํํด ์ค์๊ฐ ๋ชจ๋ํฐ๋ง
Prometheus/Grafana ์ฐ๋ ์ ์ฑ๋ฅยท์ํ๋ฅผ ์๊ฐํํด ์ด์ ํจ์จ ์์น
Last updated
Was this helpful?