๐ ๋ด๊ฐ ๋ฐฐ์ด ๋ด์ฉ ์์ฝ
๐ Kafka๋?
Apache Kafka๋ ๋ถ์ฐ ๋ฉ์์ง ์์คํ ์ผ๋ก,
์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ์ ์์ง, ์ ๋ฌ, ์ ์ฅ, ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํจ
LinkedIn์์ ๊ฐ๋ฐ, ์ดํ Apache ์คํ์์ค ํ๋ก์ ํธ๋ก ์ ํ๋จ
์ด๋น ์๋ฐฑ๋ง ๊ฑด์ ๋ฉ์์ง๋ฅผ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
๋น๋๊ธฐ ๋ฐฉ์, ๋ด๊ฒฐํจ์ฑ, ํ์ฅ์ฑ์ด ๋ฐ์ด๋จ
โ Kafka์ ํต์ฌ ๊ฐ๋
๊ฐ๋ | ์ค๋ช |
---|---|
Producer | ๋ฐ์ดํฐ๋ฅผ Kafka๋ก ์ ์กํ๋ ์ฃผ์ฒด (์: ์ฑ, ์ผ์, ์๋ฒ ๋ฑ) |
Consumer | Kafka์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ฃผ์ฒด (์: ๋ถ์ ์์คํ , ์๋ฆผ ์๋น์ค ๋ฑ) |
Broker | ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ Kafka ์๋ฒ |
Topic | ๋ฉ์์ง๋ฅผ ์ฃผ์ ๋ณ๋ก ๋ถ๋ฅํ๋ ๋จ์ (Producer/Consumer๊ฐ ๊ณต์ ) |
Partition | Topic์ ๋๋ ์กฐ๊ฐ, ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ํ์ฅ์ฑ์ ๋์ |
Offset | Consumer๊ฐ ์ฝ์ ๋ฉ์์ง์ ์์น ์ ๋ณด |
ZooKeeper | ํด๋ฌ์คํฐ ์ํ ๊ด๋ฆฌ์ ๋ธ๋ก์ปค ์กฐ์ ๋ด๋น (Kafka 3.x๋ถํฐ๋ ์ ํ ์ฌํญ) |
โ Kafka์ ์ฃผ์ ํน์ง
ํน์ง | ์ค๋ช |
---|---|
์ค์๊ฐ ์ฒ๋ฆฌ | ์์ญ๋ง~์๋ฐฑ๋ง TPS ์ฒ๋ฆฌ ๊ฐ๋ฅ |
ํ์ฅ์ฑ | ๋ธ๋ก์ปค์ ํํฐ์ ์๋ฅผ ๋๋ ค ์ํ ํ์ฅ ๊ฐ๋ฅ |
๋ด๊ฒฐํจ์ฑ | ๋ฉ์์ง๋ฅผ ์ฌ๋ฌ ๋ธ๋ก์ปค์ ๋ณต์ ํด ์ฅ์ ๋๋น |
์์์ฑ | ๋ฉ์์ง๋ฅผ ๋์คํฌ์ ์ ์ฅ, ์ผ์ ๊ธฐ๊ฐ ์ ์ง ๊ฐ๋ฅ |
๋์จํ ๊ฒฐํฉ | Producer์ Consumer๊ฐ ์ง์ ์ฐ๊ฒฐ๋์ง ์์ |
์คํธ๋ฆฌ๋ฐ ์ฒ๋ฆฌ | Kafka Streams, ksqlDB ๋ฑ๊ณผ ์ฐ๊ณ ๊ฐ๋ฅ |