Docs Menu

Kafka ๋ฐ Kafka Connect

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Apache Kafka ๋ฐ Kafka Connect์— ๋Œ€ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Apache Kafka์™€ Kafka Connect๋ž€?

  • Apache Kafka์™€ Kafka Connect๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ

  • Apache Kafka์™€ Kafka Connect๊ฐ€ ์œ ์šฉํ•œ ์ด์œ 

  • Apache Kafka ๋ฐ Kafka Connect ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•

Apache Kafka๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ฒŒ์‹œ/๊ตฌ๋… ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์œ ์—ฐํ•˜๊ณ  ๋‚ด๊ฒฐํ•จ์„ฑ์ด ์žˆ์œผ๋ฉฐ ์ˆ˜ํ‰์ ์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ ํŠน์ • ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ž‘๋™์„ ๋ฉˆ์ถ”๋”๋ผ๋„ ์‹œ์Šคํ…œ์ด ๊ณ„์† ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‚ด๊ฒฐํ•จ์„ฑ์ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ hardware๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋Œ€์‹  ๋” ๋งŽ์€ ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋” ํฐ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์‹œ์Šคํ…œ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์‹œ์Šคํ…œ์€ ์ˆ˜ํ‰์ ์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Apache Kafka์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Kafka Connect๋Š” Apache Kafka์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, Apache Kafka๋ฅผ MongoDB์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. Kafka Connect๋Š” ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด๊ฒฐํ•จ์„ฑ ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค.

  • Apache Kafka ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ์„œ, Apache Kafka๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐํ•˜๋Š” ์†”๋ฃจ์…˜์„ ๊ณต์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Kafka Connect ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปค๋„ฅํ„ฐ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ฅํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Kafka Connect ๋ฐฐํฌ๊ฐ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ๋˜๋Š” ๋ฐ์ดํ„ฐ ์‹ฑํฌ๋กœ์„œ ํŠน์ • ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MongoDB Kafka ์ปค๋„ฅํ„ฐ๋Š” ์ด๋Ÿฌํ•œ ์ปค๋„ฅํ„ฐ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

Kafka Connect์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํŒ

๋ฐ์ดํ„ฐ์Šคํ† ์–ด์— ์—ฐ๊ฒฐํ•  ๋•Œ ์ƒ์‚ฐ์ž/์†Œ๋น„์ž ํด๋ผ์ด์–ธํŠธ ๋Œ€์‹  Kafka Connect ์‚ฌ์šฉ

์ƒ์‚ฐ์ž ๋ฐ ์†Œ๋น„์ž ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Apache Kafka๋ฅผ ํŠน์ • ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐํ•˜๋Š” ์ž์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ Kafka Connect๊ฐ€ ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kafka Connect๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Kafka Connect๋Š” ์•ˆ์ •์ ์ธ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„์‚ฐ๋œ ๋‚ด๊ฒฐํ•จ์„ฑ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • Apache Kafka๋ฅผ MongoDB, PostgreSQL, MySQL๊ณผ ๊ฐ™์€ ์ธ๊ธฐ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Kafka Connect ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์œ ์ง€ ๊ด€๋ฆฌ๋˜๋Š” ๋งŽ์€ ์ปค๋„ฅํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ, ๋ฐ๋“œ ๋ ˆํ„ฐ ํ ํ†ตํ•ฉ ๋ฐ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์™€ Apache Kafka ์—ฐ๊ฒฐ๊ณผ ๊ด€๋ จ๋œ ๊ธฐํƒ€ ๋ฌธ์ œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ์˜ ์–‘์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

  • Confluent์—์„œ ๊ด€๋ฆฌํ˜• Kafka Connect ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ Apache Kafka์™€ Kafka Connect๋กœ ๊ตฌ์ถ•๋œ ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ์ •๋ณด๊ฐ€ ์–ด๋–ป๊ฒŒ ํ๋ฅด๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์˜ˆ์‹œ ํŒŒ์ดํ”„๋ผ์ธ์€ MongoDB ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ์‚ฌ์šฉํ•˜๊ณ  MongoDB ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ ์‹ฑํฌ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Kafka Connect ๋ฐฐํฌ์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋‹ค์ด์–ด๊ทธ๋žจ.

์˜ˆ์‹œ ํŒŒ์ดํ”„๋ผ์ธ ์˜ ๋ชจ๋“  ์ปค๋„ฅํ„ฐ์™€ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋Š” ์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ์„œ๋ฒ„ ์— ํ•„์š”ํ•œ ์ปค๋„ฅํ„ฐ ๋ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ