๐Ÿ”™๋’ค๋กœ๊ฐ€๊ธฐ

Apache Kafka๋ž€?

Apache Kafka๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์‚ฐ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ์œผ๋กœ, ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด๋‹ค. LinkedIn์—์„œ ๊ฐœ๋ฐœ๋˜์–ด 2011๋…„์— ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์—ˆ๊ณ , ํ˜„์žฌ๋Š” Apache Software Foundation์˜ ํ”„๋กœ์ ํŠธ๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ๋‹ค.

Kafka๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ๋ฐœํ–‰(publish), ๊ตฌ๋…(subscribe), ์ €์žฅ(store) ๋ฐ ์ฒ˜๋ฆฌ(process)ํ•  ์ˆ˜ ์žˆ๋‹ค.

Kafka๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ, ์‹ค์‹œ๊ฐ„ ๋ถ„์„, ์ด๋ฒคํŠธ ์†Œ์‹ฑ, ๋กœ๊ทธ ์ˆ˜์ง‘ ๋“ฑ ์—ฌ๋Ÿฌ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น์‚ฌ์ดํŠธ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ๋“ฑ์˜ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

๋”ฐ๋ผ์„œ, Kafka๋Š” ๋‹จ์ผ ํ”„๋กœ๊ทธ๋žจ๋ณด๋‹ค๋Š” ๋” ๋„“์€ ์˜๋ฏธ์˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” Kafka์˜ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

Kafka์˜ ํ•ต์‹ฌ ๊ฐœ๋…

Kafka์˜ ์ฃผ์š” ์žฅ์ ์€ ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰, ๋‚ด๊ณ ์žฅ์„ฑ, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๋“ฑ์ด ์žˆ๋‹ค. ๋˜ํ•œ, Kafka๋Š” '๋กœ๊ทธ'๋ผ๋Š” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ง•๋“ค ๋•๋ถ„์— Kafka๋Š” ์‹ค์‹œ๊ฐ„ ๋ถ„์„, ๋กœ๊ทธ ์ฒ˜๋ฆฌ, ์ด๋ฒคํŠธ ์†Œ์‹ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ์˜์—ญ์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

๊ธฐ๋Šฅ์— ๋”ฐ๋ฅธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ
  2. ์ด๋ฒคํŠธ ์†Œ์‹ฑ
  3. ๋กœ๊ทธ ์ˆ˜์ง‘
  4. ๋ฉ”์‹œ์ง€ ํ

์‹ค์ œ ๊ธฐ์—…์˜ Kafka ์‚ฌ์šฉ ์‚ฌ๋ก€

Netflix

Netflix๋Š” Apache Kafka๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ ํด๋ผ์ด์–ธํŠธ(์˜ˆ: ์Šค๋งˆํŠธํ‹ฐ๋น„, ์ปดํ“จํ„ฐ, ํœด๋Œ€ํฐ ๋“ฑ)์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ํ™œ๋™์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•œ๋‹ค. ์ด ์ •๋ณด๋Š” ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋‹ค.