# Apache Kafka
# ๋ชฉ์ฐจ
- Kafka๊ฐ ๋ฌด์์ธ๊ฐ์?
# Kafka๊ฐ ๋ฌด์์ธ๊ฐ์? (1)
- Apache Kafkaยฎ is a distributed streaming platform (opens new window)
- ๋ง ๊ทธ๋๋ก
๋ถ์ฐ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ
, LinkedIn ์์ ๊ตฌ์ง + ์ฑ์ฉ ์ ๋ณด๋ค์ ํ๊ณณ์์ ์ฒ๋ฆฌ(๋ฐํ/๊ตฌ๋ )ํ ์ ์๋ ํ๋ซํผ์ผ๋ก ๊ฐ๋ฐ์ด ์์ - ๋ถ์ฐ๋ ํํ๋ก ๋์๊ฐ๋
publish-subscribe ๋ฐฉ์
๋ฉ์์ง ๊ตํ ์์คํ Publish: ๋ฐ์ดํฐ๋ฅผ ์์ฑ, Subscribe: ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ์๋น
- ๋ฉ์์ง๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๊ธฐ์กด ๋ฉ์์ง ์์คํ
๊ณผ๋ ๋ฌ๋ฆฌ ๋ฉ์์ง๋ฅผ ํ์ผ ์์คํ
์ ์ ์ฅ
์นดํ์นด ์ฌ์์์ผ๋ก ์ธํ ๋ฉ์ธ์ง ์ ์ค ์ฐ๋ ค ๊ฐ์
# Kafka๊ฐ ๋ฌด์์ธ๊ฐ์? (2)
๊ธฐ๋ณธ ๊ฐ๋
- ์ฌ๋ฌ ๋ฐ์ดํฐ์ผํฐ๋ก ํ์ฅํ ์ ์๋ ํ๋ ํน์ ๊ทธ ์ด์์ ์๋ฒ์์ ํด๋ฌ์คํฐ๋ก ์คํ(์ํ/์ด์)๋๋ค
- ์นดํ์นด ํด๋ฌ์คํฐ๋ ๋ ์ฝ๋(records)๋ผ๋ ์คํธ๋ฆผ์ ํ ํฝ(topics)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์นดํ ๊ณ ๋ฆฌ์ ์ ์ฅ
- ๊ฐ๊ฐ์ ๋ ์ฝ๋๋ ํค(a key,), ๊ฐ(a value), ํ์์คํฌํ(a timestamp)๋ก ๊ตฌ์ฑ
๋ถ์ฐ๋ ํํ๋ก ๋์ํ๋ changelog
- Key ๊ฐ์ ํ ๋น๋ Value ๊ฐ๋ค์ ๋ํ ๋ณ๊ฒฝ ๋ด์ญ์ ๋ถ์ฐ๋ ํํ๋ก ์ ์ฅํ๋ค
- ์ ์ฅ๋ Key-Value ๋ค์ ๋ถ๋ฐฐํ๋ค.