์นดํ์นด ์ปค๋ฅํธ๋?
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์์ฑ ์ ๋ฐ๋ณต ์์ ์ ์ค์ด๊ณ , ํจ์จ์ ์ธ ์ ์ก์ ์ํ ์ ํ๋ฆฌ์ผ์ด์
- ์๋ก, ํ์ดํ๋ผ์ธ ์์ฑ ์, ํ๋ก๋์ | ์ปจ์๋จธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ์ ๋ง๋ค ์ ์์ง๋ง, ๋ฐ๋ณต ์์ฑ ์์ ์ ๊ฒฝ์ฐ ๊ณ์์ ์ผ๋ก ๋ฐฐํฌ ๋ฐ ์ด์์ด ๋นํจ์จ์ ์ด๋ค. ์ด๋ ์ฌ์ฉํ๋ฉด ์์ฑ ๋ง์ถค
Source Connector
- ํ๋ก๋์ ์ญํ
- ํ ํฝ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋
Sink Connector
- ์ปจ์๋จธ ์ญํ
- ํ ํฝ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์ฅํ ๋
- ์์๋ก, Mysql ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์ ์ฅํ ๋ (JDBC ๋ ๋ง์ฐฌ๊ฐ์ง) ์ปค๋ฅํฐ๋ฅผ ์ด์ฉํ์ฌ ํ์ดํ๋ผ์ธ ์์ฑ ๊ฐ๋ฅ
ํน์ง
- ์คํ ์์ค ์ปค๋ฅํฐ๋ ์ปค๋ฅํฐ jar ๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- gradle ์ Mysql connector ๋ฅผ ๋งํ๋๊ฑด๊ฐ?
- ์ปค๋ฅํฐ๋ฅผ ์ด์ฉํ์ฌ, ํ์ดํ๋ผ์ธ ์์ฑ ์ converter | transform ๊ธฐ๋ฅ ์ต์ ์ถ๊ฐ ๊ฐ๋ฅ
- converter
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ , ์คํค๋ง ๋ณ๊ฒฝ ๊ฐ๋ฅ (JsonConverter)
- transform
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์, ๊ฐ ๋ฉ์์ง ๋จ์๋ก ๊ฐ๋จํ๊ฒ ๋ณํํ๊ธฐ ์ํ ์ฉ๋
- ์๋ฅผ ๋ค์ด json ๋ฐ์ดํฐ ์์ ๊ฐ๋ฅ
์ปค๋ฅํฐ ์คํ ๋ฐฉ๋ฒ
- ๋จ์ผ ๋ชจ๋ ์ปค๋ฅํธ
- 1๊ฐ ํ๋ก์ธ์ค ์คํ
- SPOF ๋ฐ์ ์ฐ๋ ค
- ๋ถ์ฐ ๋ชจ๋ ์ปค๋ฅํธ
- 2๋ ์ด์ ์๋ฒ์์ ํด๋ฌ์คํฐ ํํ ์ด์
- ์์ ํจ
- REST API ๋ฅผ ์ ๊ณตํ๋ฏ๋ก ๊ธฐ๋ณธ ํฌํธ์ธ 8083 POST ๋ก ํ์ธ ๊ฐ๋ฅํ๋ค.
Source Connector
- ์์ค ์ ํ๋ฆฌ์ผ์ด์ , ํ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ํ ํฝ์ ๋ฃ์
- ์คํ์์ค๋ ์ข์ง๋ง, ์ง์ ๊ฐ๋ฐํด๋ ๋๋ค.
- SourceConnector, SourceTask ๊ตฌํ
- ์ด๋ฐ ์์ผ๋ก~
- ์์ฑํ ์ปค๋ฅํฐ๋ ํ๋ฌ๊ทธ์ธ ํํ๋ก ๋์ํ๋ฏ๋ก, jar ๋ฅผ ์์ฑ ํ ํ๋ฌ๊ทธ์ธ ๋๋ ํ ๋ฆฌ์ ๋ฃ์ด์ผ ํ๋ค.
- jar ํ์ผ์ ๋๋ ํ ๋ฆฌ์ ๋ฃ์ ํ ์ฌ์์ ํด์ผ ํ๋ค.
- ์ปค๋ฅํธ๋ ์คํ ์, ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฑํฌ ์ปค๋ฅํฐ
- ํ ํฝ์ ๋ฐ์ดํฐ๋ฅผ Target Application, File ๋ก ์ ์ฅํ๋ ์ญํ
- SinkConnecter, SinkTask ํด๋์ค ๊ตฌํ
- ์ง์ ๊ตฌํํ ์ปค๋ฅํฐ๋ฅผ ๋น๋ํ๊ณ jar ๋ก ๋ง๋ค์ด ํ๋ฌ๊ทธ์ธ ํํ๋ก ์ถ๊ฐํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ์์ ๊ทธ๋ฆผ
๋ฐ์ํ