๐ Kafka ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ ์ดํดํ๊ธฐ | ์ฃผ์ ๊ตฌ์ฑ ์์์ ํ์ฉ ์ฌ๋ก
๐ Kafka ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ ์ดํดํ๊ธฐ | ์ฃผ์ ๊ตฌ์ฑ ์์์ ํ์ฉ ์ฌ๋ก
์ํ์น ์นดํ์นด(Apache Kafka)๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ์ ์ํ ๋ถ์ฐํ ๋ฉ์์ง ํ๋ซํผ์ ๋๋ค. ์ด๊ธฐ์๋ LinkedIn์ ๋ด๋ถ ํ๋ก์ ํธ๋ก ์์๋์ด, ํ์ฌ๋ ์คํ์์ค๋ก์ ๋ค์ํ ๊ธฐ์ ๊ณผ ํ๊ฒฝ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
๐ Kafka์ ์ฃผ์ ๊ตฌ์ฑ ์์
Kafka์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
Cluster
ํด๋ฌ์คํฐ๋ ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ค์ด ์ฐ๊ฒฐ๋์ด ํ๋์ ์์คํ ์ฒ๋ผ ๋์ํ ์ ์๋๋ก ๊ตฌ์ฑํฉ๋๋ค. ์ด๋ฅผ ํตํด ์นดํ์นด๋ ๋์ ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ง๋๋๋ค.
Producer
ํ๋ก๋์๋ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ Kafka๋ก ์ ์กํฉ๋๋ค. ๋ค์ํ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ผ๋ฉฐ, ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค.
Consumer
์ปจ์๋จธ๋ ํ๋ก๋์๊ฐ ์์ฑํ ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ก์ปค์์ ์ฝ์ด์ค๋ ์ญํ ์ ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ํน์ ํ์์ผ๋ก ์๋นํ๊ฑฐ๋ ๊ฐ๊ณตํ ์ ์์ต๋๋ค.
Broker
๋ธ๋ก์ปค๋ ๋ฐ์ดํฐ๋ฅผ ์ค์ฌํ๋ ์ญํ ์ ํฉ๋๋ค. ํ๋ก๋์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ณ ์ด๋ฅผ ์๋น์๊ฐ ํ์๋ก ํ ๋๊น์ง ์ ์ฅ ๋ฐ ๊ด๋ฆฌํฉ๋๋ค.
Topic๊ณผ Partition
ํ ํฝ์ ๋ฉ์์ง๋ฅผ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ๊ตฌ๋ถํ๋ ์ญํ ์ ํ๋ฉฐ, ํํฐ์ ์ ์ด๋ฌํ ํ ํฝ์ ๋ ์์ ๋จ์๋ก ๋๋์ด ๊ด๋ฆฌํฉ๋๋ค. ํํฐ์ ๋์ ํตํด ์ค์ผ์ผ๋ง์ ์ฉ์ดํ๊ฒ ํ ์ ์์ต๋๋ค.
๐ Kafka์ ํ์ฉ ๋ฐฉ๋ฒ
Pub-Sub ๋ชจ๋ธ
Kafka์ ๋ฐํ-๊ตฌ๋ (Pub-Sub) ๋ชจ๋ธ์ ๋ฉ์์ง๋ฅผ ํน์ ์์ ์์๊ฒ ์ง์ ๋ณด๋ด๋ ๊ฒ์ด ์๋, ๋ฐํ์๊ฐ ํน์ ์ฃผ์ (Topic)๋ก ๋ฉ์์ง๋ฅผ ๋ฐํํ๋ฉด ๊ตฌ๋ ์๊ฐ ํด๋น ์ฃผ์ ๋ฅผ ๊ตฌ๋ ํ์ฌ ๋ฉ์์ง๋ฅผ ๋ฐ๊ฒ ๋๋ ๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋์จํ ๊ฒฐํฉ๊ณผ ๋์ ํ์ฅ์ฑ์ ๊ฐ์ถ ์์คํ ์ ๊ตฌํํ ์ ์์ต๋๋ค.
๐ Kafka์ ์ฃผ์ ํน์ง
- ํํ์ฑ: ๋ค์์ ํ๋ก๋์์ ์ปจ์๋จธ๊ฐ ๋์์ ์๋ํ ์ ์์ด ๋งค์ฐ ๋์ ์ฒ๋ฆฌ๋์ ์๋ํฉ๋๋ค.
- ํ์ฅ์ฑ: ๋ธ๋ก์ปค๋ฅผ ์ถ๊ฐํ์ฌ ์ฝ๊ฒ ํด๋ฌ์คํฐ ํ์ฅ์ด ๊ฐ๋ฅํ์ฌ, ํธ๋ํฝ์ด ์ฆ๊ฐํด๋ ์์ ์ ์ผ๋ก ์ด์ํ ์ ์์ต๋๋ค.
- ์ง์์ฑ: ๋ฉ์์ง๋ฅผ ๋์คํฌ์ ์ ์ฅํ์ฌ ๋ฐ์ดํฐ์ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๋์ ๋๋ค.
- ๋ฎ์ ์ฒ๋ฆฌ ์ง์ฐ: ๋ฉ์์ง๋ฅผ ์ ์ํ๊ฒ ๊ตํํ ์ ์์ด ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๐ก Kafka์ ์ค์ฉ์ ์ธ ์ฌ์ฉ ์ฌ๋ก
Kafka๋ ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๊ณ ์์ต๋๋ค. IoT ์ผ์๋ฅผ ํตํ ๋ฐ์ดํฐ ์คํธ๋ฆผ, ๊ธ์ต ๊ฑฐ๋ ์์คํ ์์์ ์ฌ๊ธฐ ๋ฐฉ์ง, ์ฌ์ฉ์ ํ๋ ๋ถ์ ๋ฑ ๋ง์ ์์ญ์์ Kafka๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ ์์ง ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค. ์ฃผ์ ์นดํ์นด ์ฌ์ฉ ๊ธฐ์ ์ผ๋ก๋ ๋ทํ๋ฆญ์ค, ํธ์ํฐ, ๋งํฌ๋์ธ์ด ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋น์ฆ๋์ค ๊ฒฐ์ ์ ์ํ ์ค์๊ฐ ๋ฐ์ดํฐ ์ธ์ฌ์ดํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๐ ๊ฒฐ๋ก
Apache Kafka๋ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์๋ฃจ์ ์ผ๋ก์ ๊ฐ๋ ฅํ ์ฑ๋ฅ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ํนํ, ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ํ์์ ์ธ ํ๋์ ์๋น์ค ํ๊ฒฝ์์ Kafka์ ์ค์์ฑ์ ๊ณ์ํด์ ์ฆ๊ฐํ ๊ฒ์ ๋๋ค. ๊ธฐ์ ๋ค์ด Kafka๋ฅผ ์ด์ฉํด ์ป๋ ์ค์๊ฐ ๋ฐ์ดํฐ ํต์ฐฐ๋ ฅ์ ๋ฏธ๋์ ๋น์ฆ๋์ค ์ ๋ต์ ํ์ ์ ์ธ ๋ฐฉํฅ์ฑ์ ์ ์ํ ๊ฒ์ ๋๋ค.
๋๊ธ
๋๊ธ ์ฐ๊ธฐ