01.ApacheKafkaConnect
Last updated
Last updated
๊ฐ๋ฐ ์ธ๋ ฅ
์์๋๋ ์๊ฐ
์์ค ์ฝ๋ ์ ์ง ๋ณด์
Application ๊ฐ๋ฐ ๋ถํ์
System๊ฐ ๋ฉ์์ง ์ ์ก์ด ํ์ํ ๋, ์ด๋ฏธ ์ ๋ง๋ค์ด์ง Kafka Connector๋ฅผ ์์ฝ๊ฒ ์ฌ์ฉ
์์ ์ธ๊ธํ ๋ฌธ์ ์ ์์ ์์ ๋ก์์ง๋ค. ๋จ, ์ ํ ๊ตฌ๋งค ๋น์ฉ ๋ฐ์
Kafka Connect๋ Apache Kafka ์ํ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆฌ๋ฐํ๊ธฐ ์ํ Framework
Kafka Connect๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์์คํ ์ Kafka์ ํตํฉํ๋ ๊ณผ์ ์ ํ์คํํ Framework ํตํฉ์ ์ํ Connector ๊ฐ๋ฐ, ๋ฐฐํฌ, ๊ด๋ฆฌ๋ฅผ ๋จ์ํ
Connectors - Task๋ฅผ ๊ด๋ฆฌํ์ฌ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ์ ์กฐ์ ํ๋ Plugin(jar), Java Class/Instance
Tasks - Kafka์ ๋ค๋ฅธ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ์ ์กํ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ์ฒด(Java Class/Instance)
Workers - Connector ๋ฐ Task๋ฅผ ์คํํ๋ ์คํ ์ค์ธ ํ๋ก์ธ์ค(Process)
Converters - Connect์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ๋ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋๋ฐ ์ฌ์ฉ๋๋ Components(Java Class)
Transforms - Connector์ ์ํด ์์ฑ๋๊ฑฐ๋ Connector๋ก ์ ์ก๋๋ ๊ฐ ๋ฉ์์ง๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฐ๋จํ Components(Java Class)
Dead Letter Queue - Connect์์ Connector ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
์ปจ๋ฒํฐ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ ์ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๋๋ก ๋๋๋ค. JsonConverter, StringConverter, ByteArrayConverter๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๊ณ ์ด์ธ๋ jarํ์ผ์ ์ถ๊ฐํด์ ์ฌ์ฉํ ์ ์๋ค.
ํธ๋์คํผ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ ๊ฐ ๋ฉ์์ง ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋จํ๊ฒ ๋ณํํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค. ex) Json ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ ํน์ ํค๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์๋ค.
Worker ํ๋ก์ธ์ค๊ฐ Connector, Task ๋ฑ์ ๊ด๋ฆฌ
Connect Worker Node ์์์ Connect Worker Process๊ฐ ๋์
Connect Worker Process๊ฐ Connector Instance, Task Instance๋ฅผ ๊ด๋ฆฌ
Single Process vs Multi Process(Scalability & Automatic Fault Tolerance)
group.id๋ก Cluster๊ฐ ๊ตฌ๋ถ