๋น๋๊ธฐ ํต์ , Kafka์ ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ RabbitMQ์์ ์ฐจ์ด
๋น๋๊ธฐ ํต์
์๋น์ค ์ํคํ ์ฒ๊ฐ ๋จ์ํ ๋๋ ํ ์๋น์ค๊ฐ ๋ค๋ฅธ ์๋น์ค์ ์ง์ ์์ฒญํ๊ณ , ๊ทธ ์์ฒญ์ ๋ํ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ๋๊ธฐ์ ํต์ ๋ฐฉ์๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค. ๋ง์น ๋ฌด์ ๊ธฐ๋ก ๋ํํ๋ฏ์ด ํ์ชฝ์ด ๋งํ๋ฉด ๋ค๋ฅธ ์ชฝ์ด ๋ฃ๊ณ ์์ด์ผ ํ๊ณ , ์๋์ ์ํ๋ฅผ ์๊ณ ์์ด์ผ๋ง ์ ์์ ์ธ ํต์ ์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ์์คํ ์ด ์ปค์ง๊ณ ๋ง์ดํฌ๋ก์๋น์ค์ฒ๋ผ ์ฌ๋ฌ ์๋น์ค๊ฐ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ ํ๊ฒฝ์์๋ ์ด๋ฌํ ๋๊ธฐ ๋ฐฉ์์ด ์ ์ ๋ถ๋ด์ด ๋๋ค. ํ ์๋น์ค๊ฐ ์ฌ๋ฌ ๋์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ผ ํ๊ณ , ์์ ์์ ์ฒ๋ฆฌ ์๋๋ ์ํ์ ๋ฐ๋ผ ์ ์ฒด ์ฐ์ ์ง์ฐ์ด ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก ๋น๋๊ธฐ ํต์ ์ด๋ค. ๋น๋๊ธฐ ๋ฐฉ์์์๋ ์์ฒญ์ ๋ณด๋ด๋ ์ชฝ์ด ์๋ต์ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์๋ค. ๋ฉ์์ง๋ฅผ ์ผ๋จ “์ด๋๊ฐ์” ๋งก๊ธฐ๊ณ ์์ ์ ์ผ์ ๊ณ์ํ ์ ์๋ค. ์ด๋ ๋ฑ์ฅํ๋ ๊ฒ์ด ๋ฉ์์ง ๋ธ๋ก์ปค(Message Broker)์ด๋ค. ๋ฉ์์ง ๋ธ๋ก์ปค๋ Producer๊ฐ ๋ณด๋ธ ๋ฉ์์ง๋ฅผ ์์๋ก ๋ณด๊ดํ๊ณ , Consumer๊ฐ ํ์ํ ๋ ๊ฐ์ ธ๊ฐ๋๋ก ํด์ค๋ค. ์ฆ, ๋ฐ์ ์์ ์์ ์๋ฅผ ์ง์ ์ฐ๊ฒฐํ์ง ์๊ณ ์ค๊ฐ์์ ์ญํ ์ ๋๋์ผ๋ก์จ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์์ง์ผ ์ ์๊ฒ ๋ง๋ค์ด์ฃผ๋ ์์คํ ์ด๋ค.
๋ฉ์์ง ๋ธ๋ก์ปค๋ฅผ ํ๋ฐฐํจ์ ๋น์ ํ๋ฉด ์ดํด๊ฐ ์ฝ๋ค. ํ๋ฐฐ๋ฅผ ๋ณด๋ด๋ ์ฌ๋(Producer)์ ๋ฐฐ์ก ์ฐจ๋(Consumer)์ด ์ ๋ ์ค์ง ์์๋ ์๊ด์์ด ํ๋ฐฐํจ์ ๋ฌผ๊ฑด์ ๋ฃ๊ณ ๋ ๋๋ฉด ๋๋ค. ํ๋ฐฐํจ์ ์ ํด์ง ๊ธฐ๊ฐ ๋์ ๋ฌผ๊ฑด์ ์์ ํ๊ฒ ๋ณด๊ดํ๋ฉฐ, ์์ ์๊ฐ ๊ฐ์ ธ๊ฐ์ง ์์๋ค๊ณ ํด์ ๋ฌผ๊ฑด์ด ์ฌ๋ผ์ง์ง ์๋๋ค. ์ด๋ฐ ๊ตฌ์กฐ ๋๋ถ์ ๋ฉ์์ง๋ฅผ ์ ์คํ์ง ์๊ณ ์ ๋ฌํ ์ ์๊ณ , ์์ฐ์์ ์๋น์๊ฐ ์๋ก ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋ ํ์๋ ์๋ค. ๋ํ ์๋น์ ์๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ๋ ์ ์ฒด ์์คํ ์ ์ํฅ์ ์ฃผ์ง ์์ ์ํ์ ํ์ฅ์ด ์ฌ์์ง๋ค. ์ด๋ฐ ํน์ฑ ๋๋ฌธ์ ๋ฉ์์ง ๋ธ๋ก์ปค๋ ๋น ๋ฅธ ์๋ต๋ณด๋ค ์์ ์ ์ธ ๋ฉ์์ง ์ ๋ฌ·ํ์ฅ์ฑ·์๋น์ค ๊ฐ ๋ ๋ฆฝ์ฑ์ด ์ค์ํ ํ๊ฒฝ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ค. ๋ํ์ ์ผ๋ก ์ด๋ฉ์ผ ์์คํ , ๋ก๊ทธ ์์ง ํ์ดํ๋ผ์ธ, ์ค์๊ฐ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ, ๊ทธ๋ฆฌ๊ณ MSA ํ๊ฒฝ์์์ ์ด๋ฒคํธ ์ ๋ฌ ๋ฑ์ ์ ํฉํ๋ค.
Kafka์ ๊ตฌ์กฐ์ ํน์ง
Kafka๋ ๋ํ์ ์ธ ๋ฉ์์ง ๋ธ๋ก์ปค ์ค ํ๋๋ก, ํนํ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐ ๊ฐ์ ์ ๊ฐ์ง๋ค. Kafka๊ฐ ๋ค๋ฅธ ๋ธ๋ก์ปค์ ๊ตฌ๋ณ๋๋ ๊ฐ์ฅ ์ค์ํ ํน์ง์ ๋ฉ์์ง๋ฅผ ๋ก๊ทธ ํํ๋ก ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๋ค๋ ์ ์ด๋ค. ์ผ๋ฐ์ ์ธ ๋ฉ์์ง ํ๋ ๋ฉ์์ง๋ฅผ ์๋น์๊ฐ ๊ฐ์ ธ๊ฐ๋ฉด ์ญ์ ๋์ง๋ง, Kafka๋ ๋ฉ์์ง๋ฅผ ์ญ์ ํ์ง ์๊ณ ์ ์ฅํด ๋๋ค. ๋ฉ์์ง๋ ๊ฐ์ ๊ณ ์ ํ offset์ด๋ผ๋ ๋ฒํธ๋ฅผ ๊ฐ๊ณ ์๊ณ , Consumer๋ ์์ ์ด ๋ง์ง๋ง์ผ๋ก ์ฝ์ offset๋ง ๊ธฐ์ตํ๋ฉด ๋๋ค. ์ด ๋ฐฉ์ ๋๋ถ์ Consumer๋ ํ์ํ ๋ ๋ฉ์์ง๋ฅผ ๋ค์ ์ฝ์ ์๋ ์๊ณ , ๋ค๋ฅธ Consumer ๊ทธ๋ฃน์ด ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์๋ ์๋ค.
๋ณดํต "๋์คํฌ๋ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋๋ฆฌ๋ค"๋ผ๊ณ ์๊ฐํ์ง๋ง, Kafka๋ ๋์คํฌ๋ฅผ ๋งค์ฐ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ค. ์ด์ ๋ Kafka๊ฐ ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ ์ฐ๊ธฐ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. HDD๋ SSD๋ ์์ฐจ ์ฐ๊ธฐ๋ ๋๋ค ์ฐ๊ธฐ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ณ , ํค๋ ์ด๋์ด ์ ์ด ์ฑ๋ฅ ์ ํ๊ฐ ๊ฑฐ์ ์๋ค. ์ด ์ ์ด Kafka์ ๋์ ์ฒ๋ฆฌ๋์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ๋ํ Kafka๋ ๋ด๋ถ์ ์ผ๋ก ๋ฉ์์ง๋ฅผ ํ ๊ฑด์ฉ ์ฒ๋ฆฌํ์ง ์๊ณ ๋ฐฐ์น๋ก ๋ฌถ์ด์ ์ฒ๋ฆฌํ๋ฉฐ, ์ฌ๋ฌ ๋ธ๋ก์ปค์ ๋ถ์ฐ ์ ์ฅํ๋๋ก ์ค๊ณ๋์ด ์๋ค. ์ด๋ฌํ ๊ตฌ์กฐ ๋๋ถ์ Kafka๋ ์ค์๊ฐ ๋ก๊ทธ ์์ง, ๋์ฉ๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ, ์คํธ๋ฆฌ๋ฐ ๋ถ์ ๋ฑ์์ ์ฌ์ค์ ํ์ค์ฒ๋ผ ์ฌ์ฉ๋๋ค.
RabbitMQ vs Kafka — ๋ฌด์์ด ๋ค๋ฅผ๊น?
RabbitMQ์ Kafka๋ ๋ชจ๋ ๋ฉ์์ง ๋ธ๋ก์ปค๋ก ์ฌ์ฉ๋์ง๋ง, ์ฒ ํ๊ณผ ๊ตฌ์กฐ๊ฐ ์์ ํ ๋ค๋ฅด๋ค.
RabbitMQ๋ ํ(Queue) ๊ธฐ๋ฐ์ผ๋ก ๋ฉ์์ง๋ฅผ ๊ด๋ฆฌํ๋ค. ๋ฉ์์ง๊ฐ ๋ค์ด์ค๋ฉด FIFO ๋ฐฉ์์ผ๋ก ์์ด๊ณ , Consumer๊ฐ ๊ฐ์ ธ๊ฐ๋ฉด ๋ธ๋ก์ปค์์๋ ๊ทธ ๋ฉ์์ง๋ฅผ ์ ๊ฑฐํ๋ค. ๋ผ์ฐํ ํค, ์ต์ค์ฒด์ธ์ง ํ์ , ๋ฉ์์ง ์ฐ์ ์์, TTL ๋ฑ ๋ค์ํ ๋ฉ์์ง ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์ ๊ณตํด ๋งค์ฐ ์ ์ฐํ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์์กดํ๋ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฉ์์ง๋ฅผ ์์ฃผ ๋ง์ ์์ผ๋ก ๋ฐ์ด ๋ฃ์ ๊ฒฝ์ฐ ์ ์ค ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ฉฐ, ํด๋ฌ์คํฐ๋ง ๊ตฌ์ฑ๋ ์๋์ ์ผ๋ก ๊น๋ค๋กญ๋ค. ๋์ RabbitMQ๋ ์์ ํ ์ฒ๋ฆฌ๋ ์ค์๊ฐ ํธ๋์ญ์ ์ฑ ์ ๋ฌด์ฒ๋ผ ๋ฉ์์ง๊ฐ ๋น ๋ฅด๊ฒ ์ฌ๋ผ์ง๋ ํํ์ ์ฒ๋ฆฌ์ ์ ํฉํ๋ค.
Kafka๋ ๋ฉ์์ง๋ฅผ ๋ก๊ทธ(Log) ํํ๋ก ๋์คํฌ์ ์ ์ฅํ๊ณ , ๋ฉ์์ง๋ฅผ ์๋นํด๋ ์ญ์ ํ์ง ์๋๋ค. Consumer๊ฐ ํ์ฌ offset๋ง ๊ด๋ฆฌํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ Consumer๊ฐ ์๋ก ๋ค๋ฅธ ์๋๋ก ์ฝ๋ ๊ฒ์ด ์์ฐ์ค๋ฝ๊ฒ ์ง์๋๋ค. ๋ฉ์์ง๊ฐ ๋๋์ผ๋ก ์์ฌ๋ ๋์คํฌ ๊ธฐ๋ฐ ๊ตฌ์กฐ ๋๋ฌธ์ ์์ ์ ์ด๊ณ , ๋ถ์ฐ ํด๋ฌ์คํฐ๋ง์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋งค์ฐ ์ ๋ฆฌํ๋ค. ๋์ RabbitMQ์ฒ๋ผ ๋ณต์กํ๊ณ ์ ๊ตํ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ผ๋ฉฐ, ๋ฉ์์ง๊ฐ ์ฆ์ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ "์์ ํ" ์ฉ๋๋ก๋ ์ ํฉํ์ง ์๋ค. Kafka๋ ๋๊ท๋ชจ ์คํธ๋ฆฌ๋ฐ, ๋ก๊ทธ ์ง๊ณ, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ฒ๋ผ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ต์ ํ๋์ด ์๋ค.
| ๊ตฌ๋ถ | RabbitMQ | Kafka |
| ๋ฉ์์ง ์ ์ฅ ๋ฐฉ์ | ํ(Q) ํํ, FIFO(์ ์ ์ ์ถ) | ๋ก๊ทธ(Log) ํํ, ๋์คํฌ์ ์ ์ฅ |
| ๋ฉ์์ง ์ญ์ ์์ | ์ปจ์๋จธ๊ฐ ๊ฐ์ ธ๊ฐ๋ฉด ๋ธ๋ก์ปค์์ ์ ๊ฑฐ | ์ปจ์๋จธ๊ฐ ๊ฐ์ ธ๊ฐ๋ ๋ก๊ทธ์ ๋จ์ ์์ (์คํ์ ๊ด๋ฆฌ) |
| ์ ๋ขฐ์ฑ | ์ปจ์๋จธ ์๋ฃ ์ ํธ ํ์ธ ๊ฐ๋ฅ → ์์ ์ | ์ปจ์๋จธ๊ฐ ์ค๋ณต/์ฌ์ฒ๋ฆฌ ๊ฐ๋ฅ, ์ฅ์ ๋ณต๊ตฌ ์ฉ์ด |
| ์ ์ฅ ์์น | ์ฃผ๋ก ๋ฉ๋ชจ๋ฆฌ | ๋์คํฌ |
| ์ฑ๋ฅ | ๋น ๋ฆ, ์ ์ค ์ํ ์์ | ๋์คํฌ ์ ์ฅ, ๋ฐฐ์น ์ฒ๋ฆฌ๋ก ๋์ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅ |
| ํด๋ฌ์คํฐ๋ง | ์ด๋ ค์ (์ค์๊ฐ ๋๊ธฐํ ํ์) | ์ฉ์ด (๋ถ์ฐ ํด๋ฌ์คํฐ) |
| ํ์ฉ ๋ถ์ผ | ์์ ํ, ์ด๋ฏธ์ง ์ฒ๋ฆฌ, ํธ๋์ญ์ ์ฒ๋ฆฌ | ๋ก๊ทธ ์์ง, ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ, ๋์ฉ๋ ์ฒ๋ฆฌ |
RabbitMQ
- ์ค๋งํธ ๋ธ๋ก์ปค + ๋จ์ ํ
- ๋ฉ์์ง ๋ผ์ฐํ , ์ฐ์ ์์, TTL, ์์ ์ฑ ์๋ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ์์ ๊ท๋ชจ, ๋ณต์กํ ๋ผ์ฐํ , ์ ๋ขฐ์ฑ ์ค์ฌ
Kafka
- ๋ธ๋ก์ปค๊ฐ ๋จ์, ์ปจ์๋จธ๊ฐ ์คํ์ ๊ด๋ฆฌ
- ๋ฉ์์ง ๋์คํฌ ์ ์ฅ → ์์ , ๋๊ท๋ชจ ๋ถ์ฐ ์ฒ๋ฆฌ ์ ๋ฆฌ
- ๋น ๋ฅธ ์ฒ๋ฆฌ๋, ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ต์
Kafka์ ๋ด๋ถ ๊ตฌ์กฐ: ๋ธ๋ก์ปค, ํํฐ์ , ์คํ์ , ์ปจ์๋จธ ๊ทธ๋ฃน
Kafka๊ฐ ์ด๋ป๊ฒ ๋๊ท๋ชจ ๋ฉ์์ง๋ฅผ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ๋์ง ์ดํดํด๋ณด์.
- Kafka ํด๋ฌ์คํฐ: ์ฌ๋ฌ ๊ฐ์ ๋ธ๋ก์ปค(Kafka ์๋ฒ)๋ก ๊ตฌ์ฑ๋ ์งํฉ์ฒด
- ๋ธ๋ก์ปค(Broker): ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์ค์ ์๋ฒ ๋จ์
- ํ ํฝ(Topic): ๋ฉ์์ง๋ฅผ ์ ์ฅํ๋ ๋ ผ๋ฆฌ์ ๋จ์, ํํฐ์ ์ผ๋ก ๋๋จ
- ํํฐ์ (Partition): ํ ํฝ ๋ด ๋ฉ์์ง ์ ์ฅ ๋จ์, ๋ธ๋ก์ปค์ ๋ถ์ฐ ์ ์ฅ๋จ
ํ๋ก๋์๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋
- ํ๋ก๋์๋ ๋ฉ์์ง๋ฅผ ํน์ ํ ํฝ์ ๋ณด๋ด๊ฒ ๋ค๊ณ Kafka ํด๋ฌ์คํฐ์ ์์ฒญ์ ๋ณด๋ธ๋ค.
- Kafka ํด๋ฌ์คํฐ๋ ๋ด๋ถ์ ์ผ๋ก ํ ํฝ์ ํํฐ์ ๊ณผ ๋ธ๋ก์ปค ์ ๋ณด๋ฅผ ํ์ธ
- ์ค์ ๋ก ๋ฉ์์ง๋ ํด๋ฌ์คํฐ ๋ด ํน์ ๋ธ๋ก์ปค์ ํด๋น ํํฐ์ ์ ์ ์ฅ

Kafka๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ Kafka ๋ด๋ถ์์ ๋ฉ์์ง๊ฐ ์ด๋ป๊ฒ ํ๋ฌ๊ฐ๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ณผ์ ์ ๋ด๋นํ๋ ๊ตฌ์ฑ์์๋ค์ด ๋ฌด์์ธ์ง ์์์ผ ํ๋ค. Kafka์์ ๊ฐ์ฅ ์ค์ํ ์์๋ ํ๋ก๋์, ์ปจ์๋จธ, ๊ทธ๋ฆฌ๊ณ ํ ํฝ์ด๋ค. ์ด ์ธ ๊ฐ์ง๋ Kafka ๊ตฌ์กฐ์ ๊ธฐ์ด์ด์, ๋ฉ์์ง๊ฐ ๋ง๋ค์ด์ง๊ณ , ๋ถ๋ฅ๋๊ณ , ์ฒ๋ฆฌ๋๋ ์ ์ฒด ํ๋ฆ์ ๊ฒฐ์ ํ๋ ํต์ฌ ๊ฐ๋ ์ด๋ค.
- ํ๋ก๋์
Kafka์ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ ์ฃผ์ฒด๋ก, ์ฝ๊ฒ ๋งํ๋ฉด ๋ฐ์ดํฐ๋ฅผ "๋ณด๋ด๋ ์ฌ๋"์ด๋ค. ์ฌ์ฉ์๊ฐ ์๋ก์ด ์ฃผ๋ฌธ์ ์์ฑํ๊ฑฐ๋ ์ด๋ฉ์ผ ๋ฐ์ก ์์ฒญ์ด ๋ค์ด์ค๋ ์ํฉ์ ๋ ์ฌ๋ ค๋ณด๋ฉด ๋๋ค. ์ด๋ฐ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์๋น์ค๋ ์ด๋ฅผ ๋ฉ์์ง ํํ๋ก ๋ง๋ค์ด Kafka์ ์ ๋ฌํ๋๋ฐ, ์ด ์ญํ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก ํ๋ก๋์๋ค. ๋ฉ์์ง๋ ๋จ์ผ ํ ์คํธ๊ฐ ๋ ์๋ ์๊ณ , JSON ํํ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ์ผ ์๋ ์์ผ๋ฉฐ, ์ด๋ค ์ฒ๋ฆฌ๋ฅผ ์๊ตฌํ๋ ์์ฒญ ์ ๋ณด์ผ ์๋ ์๋ค. ์ค์ํ ์ ์ ์๋น์ค๊ฐ ์ง์ ๋ค๋ฅธ ์๋น์ค์ ํต์ ํ๋ ๊ฒ์ด ์๋๋ผ, Kafka๋ผ๋ ์ค๊ฐ ์ง์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ๋ถ๋ฆฌ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ ๋ค๋ ์ ์ด๋ค.
- ์ปจ์๋จธ
๋ฉ์์ง๊ฐ Kafka์ ์ ์ฅ๋๋ฉด ์ด๋ฅผ ์ค์ ๋ก ์ฒ๋ฆฌํ๋ ์ฃผ์ฒด๋ ์ปจ์๋จธ. ์ปจ์๋จธ๋ Kafka๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ์ง์ ๊ฐ์ ธ์ ์ค์ง์ ์ธ ์์ ์ ์ํํ๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฉ์ผ ๋ฐ์ก ์์ฒญ ๋ฉ์์ง๊ฐ ๋ค์ด์๋ค๋ฉด, ์ด๋ฉ์ผ ๋ฐ์ก์ ๋ด๋นํ๋ ์ปจ์๋จธ๊ฐ ํด๋น ๋ฉ์์ง๋ฅผ ์ฝ์ด ์ค์ ์ด๋ฉ์ผ์ ๋ณด๋ด๋ ์์ด๋ค. ๋ ์ฃผ๋ฌธ ์์ฑ ๋ฉ์์ง๊ฐ ๋ค์ด์ค๋ฉด ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์ปจ์๋จธ๊ฐ ์ฌ๊ณ ๋ฅผ ์ฐจ๊ฐํ๊ฑฐ๋ ๊ฒฐ์ ๊ณผ์ ์ ์งํํ ์ ์๋ค. ์ปจ์๋จธ๋ Kafka์ ์ ์ฅ๋ ๋ฉ์์ง๋ฅผ ์ง์์ ์ผ๋ก ์กฐํํ๋ฉด์ ์๋ก์ด ๋ฉ์์ง๊ฐ ์๋์ง ํ์ธํ๊ณ , ์๋ค๋ฉด ๊ทธ๊ฒ์ ๊ฐ์ ธ์ ์ง์ ๋ ๋ก์ง์ ๋ฐ๋ผ ์ฒ๋ฆฌํ๋ค. ์ด๋ก ์ธํด ํ๋ก๋์์ ์ปจ์๋จธ๋ ์๋ก ์ง์ ์ฐ๊ฒฐ๋ ํ์ ์์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ ์ ์๊ฒ ๋๋ค.
- ํ ํฝ
์ด๋ ๋ชจ๋ ๋ฉ์์ง๊ฐ ํ๊ณณ์ ๋ค์์ฌ ์ ์ฅ๋๋ค๋ฉด ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ Kafka๋ ๋ฉ์์ง๋ฅผ ์ข ๋ฅ๋ณ๋ก ๊ตฌ๋ถํ๊ธฐ ์ํด ํ ํฝ์ด๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ๋ค. ํ ํฝ์ ๋ฉ์์ง๋ฅผ ๋ถ๋ฅํ๋ ๊ณต๊ฐ์ผ๋ก, ์ด๋ฉ์ผ ์ ์ก ๋ฉ์์ง๋ ์ด๋ฉ์ผ ๊ด๋ จ ํ ํฝ์, ์ฃผ๋ฌธ ์์ฑ ๋ฉ์์ง๋ ์ฃผ๋ฌธ ๊ด๋ จ ํ ํฝ์, ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ๋ฉ์์ง๋ ํด๋น ํ ํฝ์ ์ ์ฅํ๋ ์์ผ๋ก ๋๋ ์ ์๋ค. ์ค์ํ ์ ์ Kafka๊ฐ ๋ฉ์์ง๋ฅผ ์๋์ผ๋ก ๋ถ๋ฅํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ, ํ๋ก๋์๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋ “์ด ๋ฉ์์ง๋ ์ด๋ ํ ํฝ์ ๋ฃ์ ๊ฒ์ธ์ง”๋ฅผ ๋ช ํํ ์ง์ ํด์ผ ํ๋ค๋ ์ ์ด๋ค. ๋ง์น ์ด๋ฉ์ผํจ์์ ํด๋๋ฅผ ์ง์ ํด ๋ฉ์ผ์ ์ ๋ฆฌํ๋ฏ์ด, ํ๋ก๋์๊ฐ ํ ํฝ์ ์ง์ ํ๊ณ Kafka๋ ๊ทธ ํ ํฝ์ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ปจ์๋จธ๋ ์์ ์ด ๋ด๋นํ๋ ํ ํฝ์ ๊ตฌ๋ ํด ํ์ํ ๋ฉ์์ง๋ง ๊ฐ์ ธ์ค๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์์คํ ์ด ํจ์ฌ ๋จ์ํด์ง๊ณ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ๋๋ค.
๊ฒฐ๊ตญ Kafka๋ ํ๋ก๋์๊ฐ ์์ฑํ ๋ฉ์์ง๋ฅผ ํ ํฝ๋ณ๋ก ์ ์ฅํ๊ณ , ์ปจ์๋จธ๊ฐ ์ด๋ฅผ ๊ฐ์ ธ๊ฐ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ๋ฅผ ํตํด ์๋น์ค ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ , ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค๋ค. ์ด ์ธ ๊ฐ์ง ๊ฐ๋ ๋ง ์ดํดํด๋ Kafka๊ฐ ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ MSA ํ๊ฒฝ์์ ๊ฐ๋ ฅํ ๋๊ตฌ๋ก ํ์ฉ๋๋์ง ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ ์ก์ ์ ์๋ค. ๋ค์ ๋จ๊ณ์์๋ Kafka์ ๋ด๋ถ ์ ์ฅ ๋ฐฉ์๊ณผ ๋ถ์ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋ธ๋ก์ปค, ํํฐ์ , ์คํ์ , ์ปจ์๋จธ ๊ทธ๋ฃน์ ๋ํด ์์๋ณด๋ฉด Kafka์ ์ ์ฒด ๊ทธ๋ฆผ์ด ํจ์ฌ ๋ช ํํด์ง ๊ฒ์ด๋ค.
Kafka๋ ์ฌ๋ฌ ์๋ฒ๊ฐ ํจ๊ป ๋์ํ๋ ๋ถ์ฐ ์์คํ ์ด๋ค. ๋จผ์ Kafka ํด๋ฌ์คํฐ๋ ํ๋๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ Kafka ์๋ฒ๋ก ๊ตฌ์ฑ๋๋๋ฐ, ์ด ์๋ฒ ํ ๋ ํ ๋๋ฅผ ๋ธ๋ก์ปค๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํ๋ก๋์๊ฐ ๋ฉ์์ง๋ฅผ ์ ์กํ๋ฉด ์ด ๋ฉ์์ง๋ ํน์ ๋ธ๋ก์ปค์ ์ ์ฅ๋๊ณ , ์ปจ์๋จธ๋ ์ด ๋ธ๋ก์ปค๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ๊ฐ ์ฒ๋ฆฌํ๋ค. ์์คํ ์ด ์ปค์ ธ๋ ๋ธ๋ก์ปค๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ Kafka๋ ์ํ์ ํ์ฅ์ด ๋งค์ฐ ์ฝ๋ค๋ ํน์ง์ ๊ฐ์ง๋ค.
- ํํฐ์
Kafka์ ๋ ํ๋์ ํต์ฌ ๊ฐ๋ ์ ํํฐ์ . ํ ํฝ์ด๋ผ๋ ๋ฉ์์ง ๋ถ๋ฅ ๋จ์๋ฅผ ์ค๋ช ํ๋๋ฐ, Kafka๋ ์ด ํ ํฝ์ ๋ค์ ์ฌ๋ฌ ํํฐ์ ์ผ๋ก ๋๋ ์ ์ฅํ๋ค. ํํฐ์ ์ ์ฝ๊ฒ ๋งํ๋ฉด "ํ ํฝ์ ๋ฉ์์ง๊ฐ ๋๋์ด ์ ์ฅ๋๋ ์ฌ๋ฌ ์ค"์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ํํฐ์ ์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด ํ๋ก๋์๋ ๋ฉ์์ง๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ๋ถ์ฐํด์ ๊ธฐ๋กํ ์ ์๊ณ , ์ปจ์๋จธ ๋ํ ์ฌ๋ฌ ํํฐ์ ์ ๋์์ ์ฝ์ ์ ์์ด ์ ์ฒด ์ฒ๋ฆฌ๋์ด ํฌ๊ฒ ์ฆ๊ฐํ๋ค. Kafka๊ฐ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ์ด์ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ด ํํฐ์ ๊ธฐ๋ฐ ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์
- ์คํ์
ํํฐ์ ์์ ์ ์ฅ๋ ๋ฉ์์ง๋ค์ ์์๋๋ก ๋ฒํธ๊ฐ ๋ถ์ฌ๋๋๋ฐ, ์ด ๋ฒํธ๋ฅผ ์คํ์ ์ด๋ผ๊ณ ํ๋ค. ์คํ์ ์ Kafka๊ฐ ๋ฉ์์ง๋ฅผ ์ญ์ ํ์ง ์๊ณ ๋์คํฌ์ ์ฐจ๊ณก์ฐจ๊ณก ์์๋๋ฉด์๋, ์ปจ์๋จธ๊ฐ ์ด๋๊น์ง ์ฝ์๋์ง ์ถ์ ํ ์ ์๊ฒ ํด์ค๋ค. ์๋ฅผ ๋ค์ด, ์ปจ์๋จธ๊ฐ ์คํ์ 15๊น์ง ์ฒ๋ฆฌํ๋ค๋ฉด ๋ค์๋ฒ ์กฐํ ์์๋ ์คํ์ 16๋ถํฐ ๋ฉ์์ง๋ฅผ ์ฝ๋๊ฒ์ด๋ค. ์ด ๋ฐฉ์ ๋๋ถ์ ์ปจ์๋จธ๊ฐ ์ผ์์ ์ผ๋ก ์ค๋จ๋์ด๋ ์ฌ์์ ํ ์ ํํ ์ด์ด์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ณ , ํ์ํ๋ค๋ฉด ๊ฐ์ ๋ฉ์์ง๋ฅผ ๋ค์ ์ฝ์ผ๋ฉฐ ์ฌ์ฒ๋ฆฌํ๋ ๊ฒ๋ ๊ฐ๋ฅํด์ง๋ค.
- ์ปจ์๋จธ ๊ทธ๋ฃน
์ปจ์๋จธ ๊ทธ๋ฃน์ ์ฌ๋ฌ ๊ฐ์ ์ปจ์๋จธ๊ฐ ํ๋์ ํ ํฝ์ ํ๋ ฅํ์ฌ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋ฌถ์ด๋์ ๋จ์์ด๋ค. ์๋ฅผ ๋ค์ด, ํ๋์ ํ ํฝ์ 3๊ฐ์ ํํฐ์ ์ด ์๊ณ , ์ปจ์๋จธ ๊ทธ๋ฃน์ 3๊ฐ์ ์ปจ์๋จธ๊ฐ ์๋ค๋ฉด ๊ฐ ์ปจ์๋จธ๋ ํ ํํฐ์ ์ฉ ๋ด๋นํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌํ ์ ์๋ค. ์ปจ์๋จธ๊ฐ ๋ง์์ง๋ฉด ์ฒ๋ฆฌ๋์ด ์ฆ๊ฐํ๊ณ , ํ๋๊ฐ ๊ณ ์ฅ ๋๋ ๋ค๋ฅธ ์ปจ์๋จธ๊ฐ ๋์ ์ฒ๋ฆฌํ ์ ์์ด ์์ ์ฑ๋ ๋์์ง๋ค.
์ฆ,Kafka๋ ๋จ์ํ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ์ ๋ฌํ๋ ๋ธ๋ก์ปค์ผ ๋ฟ๋ง์๋๋ผ ๋ถ์ฐ ์์คํ , ํํฐ์ ์ ํตํ ์ํ ํ์ฅ, ์คํ์ ๊ธฐ๋ฐ์ ์์ ์ ๋ฉ์์ง ์ฒ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ์ปจ์๋จธ ๊ทธ๋ฃน์ ํตํ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฐ์ด๋ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ํ๋ซํผ์ด๋ค.
'๐ฆญ AI&Big Data > Big Data' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ํฌ๋กค๋ง with Scrapy (0) | 2025.12.18 |
|---|---|
| ์คํ ๋ฆฌ์ง (1) | 2025.12.08 |
| ๋ฐ์ดํฐ ์์ง๋์ด๋ง (0) | 2025.10.03 |
| Airflow(4) (4) | 2025.07.17 |
| ๋ฐ์ดํฐ ์์ง๋์ด๋ง (2) | 2025.07.06 |