[Kafka] Apache Kafka๋ ๋ฌด์์ด๊ณ ์ ์ฑ๋ฅ์ด ๋น ๋ฅผ๊น?
์นดํ์นด๋ ๋ฌด์์ผ๊น? ์นดํ์นด๋ ๋ง์ ๋ค์ด๋ณธ ์ ์ ์์ง๋ง ์์ง ์ฌ์ฉํด๋ณธ ์ ์ด ์๋ค๋ฉด ์ด ์ํํธ์จ์ด๊ฐ ๋๊ฒ ์์ํ ์ ์์ต๋๋ค. ์นดํ์นด๋ Linkedin์์ ์ฒ์ ๊ฐ๋ฐํ์ฌ ์ํ์น ์คํ ์์ค๊น์ง ์ค๊ฒ ๋ ๋์ฉ๋ ๋ฉ์์ง ๋ถ์ฐ ์ฒ๋ฆฌ ํ๋ซํผ์ ๋๋ค.
๋ฉ์์ง ๋ถ์ฐ ์ฒ๋ฆฌ ํ๋ซํผ
์ฌ๊ธฐ์ ์ด์ผ๊ธฐํ๋ ๋ฉ์์ง๋, ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ ์ผ๋ จ์ ์ํํธ์จ์ด๋ฅผ ํต์ ํ๊ธฐ ์ํ ๋ฉ์์ง๋ฅผ ๋งํฉ๋๋ค. ๊ฐ๋ น ์ฐ๋ฆฌ๋ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ ๋ ์๋ก ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ํจ์๋ฅผ ์ฌ์ฉํ๋๋ฐ, ํจ์๋ผ๋ฆฌ ํต์ ์ ์ํด์ ๋ณด๋ด๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ค์ ์ ์ํฉ๋๋ค. ์ด๋ฅผ ์ฐ๋ฆฌ๋ ํ๋ผ๋ฏธํฐ๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ๋ง์ดํฌ๋ก์๋น์ค๋ ์ด๋จ๊น์? ์๋ก ํ๋ก์ธ์ค๋ ๋ค๋ฅด๊ณ ์ธ์คํด์ค๋ ๋ค๋ฅธ ์ํฉ์์ ๊ฐ ์๋น์ค๋ผ๋ฆฌ ํต์ ํ๋ ค๋ฉด ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ๋ฉ์์ง ํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Mosquitto
- Redis Pub/Sub
๋ฉ์์ง ํ๋ ์๋ ์๋น์ค์์ ๋ฉ์์ง๋ฅผ ํ์คํ๊ฒ ๋ฐ์ ์ ์๋๋ก ๋ณด์ฆํ๋ฉฐ ๊ทธ๋ ์ง ์๋ ๋์์๋ ์์ ์ด ๋ฉ์์ง๋ฅผ ๊ฐ์ง๋ ํํ์ ๋๋ค.
Kafka๋ ์ด๋ฐ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๋ ๋ง๊ณ , ๋ ๋ฐฉ๋ํ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ๋ถ์ฐ ์ฒ๋ฆฌ ํ๋ซํผ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ค๋ณด๋ฉด ์์ญ, ์๋ฐฑ๊ฐ์ ์๋น์ค๊ฐ ํต์ ์ด ๋ฐ์ํฉ๋๋ค. ํ๋์ ์๋น์ค์์ ๋ง์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ํ ๋ฐ, ์ด๊ฒ์ด ์๋ฐฑ๊ฐ๋ก ๋ง์์ง๋ฉด ๋ถ์ฐํ์ฌ ์ฒ๋ฆฌํด์ผ ํ๋๋ฐ, ์ด์ ์ ํฉํ ์ํํธ์จ์ด๊ฐ ๋ฐ๋ก ์นดํ์นด์ ๋๋ค.
Kafka Architecture
์ผ๋ฐ์ ์ธ ๋ฉ์์ง ํ๋ ๋ฉ์์ง๋ฅผ ๋ฐํํ๋ Producer(Source)์ ๋ฉ์์ง๋ฅผ ๊ตฌ๋ ํ๋ Consumer(Target), ๊ทธ๋ฆฌ๊ณ MQ๋ก ๊ตฌ์ฑ๋์ด์ง๋๋ค.
ํ์ง๋ง Kafka๋ ๋ถ์ฐ ์ฒ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋์ ๋ฉ์์ง๋ฅผ ๋ฐ์ Consumer Group๊ณผ ๊ทธ๋ค ๊ทธ๋ฃน์ด ๋ถ์ฐํ์ฌ ๋ฉ์์ง๋ฅผ ๋ฐ์ ์ ์๋ ํํฐ์ ๋ฑ ์ผ๋ฐ์ ์ธ ๋ฉ์์ง ํ๋ณด๋ค ์ข ๋ ๊ตฌ์ฑ์ด ํ๋ถํฉ๋๋ค.
- Producer: Kafka๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ญํ ์ธ์คํด์ค
- Consumer: Kafka์์ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์ญํ ์ธ์คํด์ค
- Message: Producer๋ฅผ ํตํด ๋ณด๋ด๊ณ , Consumer๊ฐ ์ฝ์ด๊ฐ๋ ๋ฐ์ดํฐ ์กฐ๊ฐ
- Topic: ๋ฐ์ดํฐ์ ๊ฐ๋ ์ ๋ถ๋ฆฌ ๋จ์, Producer์ Consumer๊ฐ ํต์ ํ๋ ํ๋์ ์ฑ๋
- Broker:
- Kafka ์ ํ๋ฆฌ์ผ์ด์ ์ธ์คํด์ค
- Topic์ ์๋นํ๋ ํ๋์ ์ฃผ์ฒด
- ์ฌ๋ฌ ๊ฐ์ Broker๊ฐ ํ๋์ topic์ ์๋นํ ์ ์์(๊ณ ๊ฐ์ฉ์ฑ)
- ํ๋์ Broker๊ฐ ์ฌ๋ฌ topic์ ์๋นํ ์ ์์
- ํ๋์ topic์ด ์ฌ๋ฌ Broker์ ์๋น๋ ์ ์์ - Partitions:
- ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐ ๊ณ ์ฑ๋ฅ์ ์ป๊ธฐ ์ํด ํ๋์ ํ ํฝ์ ์ฌ๋ฌ๊ฐ๋ก ๋๋ ๊ฒ
- topic์ด ํํฐ์ ์ ๋๋ ์ง๋ ํํ, ๋ฐ๋ผ์ topic์ ํํฐ์ ์ ๊ทธ๋ฃน์ด๋ผ๊ณ ํ ์ ์์
- ์ค์ ๋ก ๋์คํฌ์ ์ด๋ป๊ฒ ์ ์ฅ๋๋์ง๋ฅผ ๊ฐ๋ฅด๋ ๊ธฐ์ค -> ๋์คํฌ์๋ ํํฐ์ ๋จ์๋ก ์ ์ฅ๋จ.
- Message๋ topic ๋ด ์ด๋ค ํํฐ์ ์ ์ ์ฅ๋์ด ์์ - Offset: Message๋ ํํฐ์ ๋ด ์์๋๋ก ์ ์ฅ๋๋๋ฐ, ์ฌ๊ธฐ์ ์์๊ฐ offset
- Zookeeper: Kafka ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐ Broker Healthcheck ๋ฑ์ ๋ด๋น
- Segment: Producer๊ฐ ์ ์กํ ์ค์ ๋ฉ์์ง๊ฐ Broker์ ๋ก์ปฌ ๋์คํฌ์ ์ ์ฅ๋๋ ํ์ผ
Kafka์ ํน์ฑ
๊ตฌ์กฐ๋ง ๋ณด๊ธฐ์๋ ์นดํ์นด๊ฐ ๋์ฉ๋ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ์ ์ถฉ๋ถํ์ง ํ์ ์ด ์ด๋ ต์ต๋๋ค. ์นดํ์นด์ ํน์ฑ์ ๋ณด๋ฉฐ ๋์ฉ๋ ์ฒ๋ฆฌ์ ์ด๋ค ํต์ฌ์ ์ธ ์ญํ ์ด ์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
๋ถ์ฐ ์์คํ
์นดํ์นด๋ ๋ถ์ฐ ์์คํ ์ ๋๋ค. ์ฌ๊ธฐ์ ๋ถ์ฐ ์์คํ ์ด๋, ๋คํธ์ํฌ ์์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ ๊ทธ๋ฃน์ ๋งํ๋ฉฐ ํ๋์ ๋ง์คํฐ ์ปดํจํฐ๋ก ์ฌ๋ฌ๊ฐ์ ์ปดํจํฐ๋ฅผ ๋ง์น ํ๋์ ์ปดํจํฐ์ฒ๋ผ ์ฌ์ฉํ๋ ์์คํ ์ ๋๋ค.
๋ฐ๋ผ์ ์๋์ ๊ฐ์ ์ฅ์ ์ ์ง๋๋๋ค.
- ๋จ์ผ ์์คํ ์ ๋นํด ์ฒ๋ฆฌ/๋ฐ์ ์๋๊ฐ ๋น ๋ฆ
- ์ฅ์ ๋์ ์ ๋ฆฌ (ํ๋์ ๋ ธ๋์์ ์ค๋ฅ๊ฐ ๋๋ ๋ค๋ฅธ ๋ ธ๋์์ ๋์)
- ์์คํ ํ์ฅ ์ฉ์ด
๋จ์ผ ์์คํ ์์๋ ํ๋์ ์์คํ ์์ ๋ชจ๋ ๋ฉ์์ง๋ฅผ ๋ค ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๊ทธ ํ๊ณ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ๋ถ์ฐ ์์คํ ์ ์ด์ฉํ๋ฉด ํ๋์ ์์คํ ์์ ์ฒ๋ฆฌํ ๊ฒ์ ์ฌ๋ฌ๊ฐ๋ก ๋๋ ์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ ์๋๊ฐ ๋นจ๋ผ์ง๊ณ ํ ๋ฒ ๊ตฌ์ถํด๋์ผ๋ฉด N๊ฐ ์ด์ ํ์ฅํ๊ธฐ ์ฝ์ต๋๋ค.
ํ์ด์ง ์บ์
๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ธ ๋ ๊ฐ์ฅ ๋ง์ด ๋ค์ด๊ฐ๋ ๋น์ฉ์ I/O ์์ ์ ๋๋ค. ์นดํ์นด๋ Producer๋ก๋ถํฐ ๋ฐ์ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๋๋ฐ, ์ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก ๋์คํฌ์ ๋๋ค. ์ด? ๊ทธ๋ฐ๋ฐ, ๋์คํฌ๋ ๋๋ฆฌ์์์?
๊ทธ๋ ์ต๋๋ค. ๋์คํฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋นํด ๋๋ฆฝ๋๋ค. ๊ทธ๋์ ์นดํ์นด๋ ์ด๋ฌํ ๋์คํฌ์ ๋จ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด ํ์ด์ง ์บ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ์ด์ง ์บ์๋, Disk I/O ์ฑ๋ฅ ํฅ์์ ์ํด ๋ง๋ค์ด์ง ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ํ ๋ฒ ์ฝ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด๋์๋ค๊ฐ ๋ค์ ๋ถ๋ฌ์ฌ ๋๋ Disk๊ฐ ์๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ถ๋ฌ์ค๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
- Kafka๋ OS๊ฐ ์ ๊ณตํ๋ ํ์ด์ง ์บ์๋ฅผ ํ์ฉ
- ์ฌ์ฉํ์ง ์๋ ์ผ๋ถ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํด Disk I/O์ ๋ํ ์ ๊ทผ์ ์ค์ฌ ์ฑ๋ฅ ํฅ์
ํนํ ํ์์ ํน์ฑ ๋๋ฌธ์ Kafka์์๋ JVM Heap ํฌ๊ธฐ๋ฅผ 5GB๋ก ๊ถ์ฅํ๊ณ ์์ผ๋ฉฐ ๊ฐ๊ธ์ Kafka ์๋ฒ ์์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฆฌ์ง ์์ต๋๋ค. ๋จ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง ์บ์๋ก ์ฌ์ฉํ๊ธฐ ์ํจ์ ๋๋ค.
Zero copy
Linux OS๋ฅผ ๊ณต๋ถํด๋ณด์ ๋ถ๋ค์ด๋ผ๋ฉด ์ด ์ฉ์ด์ ๋ํด ์ต์ํ ๊ฒ์ ๋๋ค. ์นดํ์นด๋ Zero copy๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์์ ์นดํ์นด๋ ๋์คํฌ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ์ฌ ๋ฉ์์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ผ ๋ฐ๋ก ๋์คํฌ์ ์ ์ฅํด ๋ณด๋ด๋ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
์ด ๋ Disk I/O๊ฐ ์์ฃผ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์์ ํ์ด์ง ์บ์๋ฅผ ์ด์ฉํด์ ์ด์ ์ ๋ฐ์ ๋ฐ์ดํฐ๋ Disk I/O๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ๋ฐ๋ก ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด์ฃ .
์ ํต์ ์ธ ๋ฐ์ดํฐ ์ ์ก ๋ฐฉ์์ ๋ณดํต ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฆฐ ํ ์ ์กํฉ๋๋ค.
Zero copy๋ Linux Kernel ํจ์ ์ค sendFile ํจ์๋ฅผ ํตํด ์๋ํฉ๋๋ค.
์ฌ๊ธฐ์ sendFile์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฆฌ์ง ์๊ณ ๋ฐ๋ก ๋คํธ์ํฌ์ ์ ์กํ๊ฒ ๋๋๋ฐ, Kafka๋ ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ฌ I/O๋ฅผ ์ค์ฌ ๋น ๋ฅธ ์๋๋ฅผ ๋ผ ์ ์๋ ๊ฒ์ ๋๋ค.
๋ฐฐ์น/์์ถ ์ ์ก
TCP ํต์ ์ ๋จ์ ์ ํ ๋ฒ ์ ์กํ ๋ 3 hand shake, 4 hand shake ๋ฑ ๋ง์ ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ๊ฐ๊ธ์ ๋ง์ ๋ฐ์ดํฐ์ ์ ์ก์ ์๊ฒ ์ฌ๋ฌ๋ฒ ๋ณด๋ด๋ ๊ฒ์ด ์๋ ๋ฌถ์ด์ ํ ๋ฒ์ ๋ณด๋ด๋ ๊ฒ์ด ์ค๋ฒํค๋๊ฐ ์ ์ต๋๋ค.
์นดํ์นด๋ ๋ฌถ์ด์ ๋ณด๋ด๊ณ , ๋ฌถ์ด์ ๋ฐ๋ ๋ฐฐ์น ์ ์กํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ค๋ฒํค๋๋ฅผ ์ต์ํ ํ๋ฉฐ ์ฑ๋ฅ์ ๋ณด์ฆํฉ๋๋ค.
๋ํ ์์ถ ์ ์ก์ ํตํด ๋ฉ์์ง์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฉด์ ๋คํธ์ํฌ ๋น์ฉ๋ ์ ์ฝํฉ๋๋ค.
- ๋ฉ์์ง ์ ์ก์ ๋์ ์์ถ ์ ์ก์ ๊ถ์ฅ
- ์์ถ์ ํตํด ๋คํธ์ํฌ ๋์ญํญ(bandwith) ์ถ์
์ฌ๊ธฐ์ ๋คํธ์ํฌ ๋์ญํญ์ด๋, ๋คํธ์ํฌ๊ฐ ๋จ์ ์๊ฐ ๋ด ์ ๋ฌํ ์ ์๋ ์ต๋ ํฌ๊ธฐ์ ์ ๋ฌ ์ฉ๋์ ์๋ฏธํ๋๋ฐ ๋์ญํญ์ด ํฌ๋ฉด ํด์๋ก ๋น์ฉ์ด ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ ์ ๋์ญํญ์ ์ฌ์ฉํด ๋คํธ์ํฌ ๋น์ฉ์ ์ค์ธ ๊ฒ์ ๋๋ค.
๊ณ ๊ฐ์ฉ์ฑ ๋ณด์ฅ
๋ฆฌํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ถ์ฐ ์ฒ๋ฆฌํจ์ผ๋ก์จ ๊ณ ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
Kafka์ Low Latency I/O
์๋ฌด๋ฆฌ Zero copy, ํ์ด์ง ์บ์๋ฅผ ์ฌ์ฉํด๋ Disk I/O ๋ฐ์์ผ๋ก ์ธํ ๊ทผ๋ณธ์ ์ธ ์ฑ๋ฅ ์ด์๋ ํผํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์นดํ์นด๋ Disk I/O์ ์ฑ๋ฅ์ ์ต๋ํ์ผ๋ก ๋์ด์ฌ๋ฆฌ๊ธฐ ์ํด์ ์นดํ์นด๋ Sequential I/O๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์์ฐจ์ ๋ฐ์ดํฐ ์ ์ฅ์ ํตํด ์ฝ๊ธฐ ์ง์ฐ ๊ฐ์
์ฐ๋ฆฌ๊ฐ ํ์ค์ผ๋ก ๋งํ๋ ๋์คํฌ์ ์ฝ๊ธฐ ์๋๋ ์ค์ ๋์คํฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์๋๊ฐ ์๋๋ผ ๋ฐ์ดํฐ์ ์์น๋ฅผ ์ฐพ๋ ์๊ฐ(seek time)์ ์ํด ๋์คํฌ ์ฝ๊ธฐ ์๋๊ฐ ์ง์ฐ๋ฉ๋๋ค. ์ด๋ฌํ ์ด์๊ฐ ๋ฐ์ํ๋ ์์ธ์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๊ณ ๋๋คํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์์ต๋๋ค.
์นดํ์นด๋ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ์ฌ ์ด๋ฌํ Seek Time์ด ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ, ํ์ผ์ ์ฐ๋ ์์น๋ OS๊ฐ ๊ฒฐ์ ํด์คํ ๋ฐ, ์ด๊ฑธ ์นดํ์นด๊ฐ ์ด๋ป๊ฒ ์ ์ดํ๋๊ฑธ๊น์?
์นดํ์นด๋ ๊ฑฐ๋ํ ํ์ผ๋ค(๊ฐ default: 1GB)๋ก ์ ์ฅํ๋๋ฐ, ์ค์ ๋ก ๋ฉ์์ง ํ๋๊ฐ 1GB์ธ ๊ฒ์ด ์๋ ํด๋น ํ์ผ ํ๋์ ๋ฉ์์ง๋ฅผ ๋ณด๊ดํ์ฌ ๋ชจ๋ ๋ฉ์์ง๊ฐ expire ๋์์ ๋ ํด๋น ํ์ผ์ ์ญ์ ํฉ๋๋ค.
๊ฒฐ๊ตญ ์นดํ์นด๋ 100% ์๋ฒฝํ Sequential I/O๋ฅผ ๋ฐ์์ํค๋ ๊ฒ์ด ์๋๋ผ ๋ฏธ๋ฆฌ ๊ฑฐ๋ํ ํ์ผ ์ฌ์ด์ฆ๋ฅผ ํ ๊ฐ ์ก๊ณ ๊ฑฐ๊ธฐ์ line by line์ผ๋ก ์ ์ฅํ์ฌ I/O ์ฑ๋ฅ์ ๋์ด๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ 100%๊ฐ ์๋ 8~90% ์ ๋์ ์์ฐจ์ I/O๋ฅผ ๋ฐ์์ํค๋ ๊ฒ์ด์ฃ .
์ด๋ฌํ ๋ถ๋ถ์ด ์์ด ์๋์ ๊ฐ์ ์ ์ฝ์ด ๋ฐ๋ฆ ๋๋ค.
- ๊ฐ๊ธ์ ๋ค๋ฅธ ์ฑ์ด ์ํฅ์ ์ฃผ์ง ์๋ ๋ ๋ฆฝ์ ์ธ ํ์ผ ์์คํ ์ฌ์ฉ ๊ถ์ฅ.
- ๋ฐ์ดํฐ ์ฌ์ด์ฆ๊ฐ ํฐ ๋ฉ์์ง์ ์ ์ก์ ์ง์
๋ง์ฝ ์ด๋ฌํ ์ํฉ์์, ๋ค๋ฅธ ์ฑ์ ์ํด I/O๊ฐ ๋ฐ์ํ๊ณ ํํธํ๊ฐ ์๊ธฐ๋ฉด ์นดํ์นด์๋ ๊ทธ ์ํฅ์ ๋ฏธ์น๊ฒ ๋๋ฉฐ ๋ํ, ๋ฐ์ดํฐ ์ฌ์ด์ฆ๊ฐ ํฐ ๋ฉ์์ง๊ฐ ๋๋์ผ๋ก ์ ์ก๋๋ค๋ฉด ์นดํ์นด ๋จ๋ ์ผ๋ก๋ ๋์คํฌ ํํธํ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๊ธ์ ์ด๋ฉด ๋ฐ์ดํฐ ์ฌ์ด์ฆ๋ฅผ ์ค์ด๋ ๊ฒ ์ฑ๋ฅ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
๋ง์น๋ฉฐ…
์ฌ๊ธฐ๊น์ง ๊ฐ๋จํ๊ฒ Kafka์ ๋ํด์ ์ ๋ฆฌํด๋ดค์ต๋๋ค. ์นดํ์นด๋ ๋๊ท๋ชจ ๋ถ์ฐ ๋ฉ์์ง ์ฒ๋ฆฌ ํ๋ซํผ์ผ๋ก์จ ๊ธฐ์กด์ ๋ฉ์์ง ํ๊ฐ ๊ฐ์ง๊ณ ์์๋ ๋จ์ ๊ณผ ๋น์ฉ์ ์ค์ด๋ฉด์ ํจ์จ์ ์ผ๋ก ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ๋ฅญํ ์ํํธ์จ์ด์ ๋๋ค.
๋ค์ ํฌ์คํธ์์๋ ์นดํ์นด์ ์ฝ๋๋ค์ดํฐ์ธ Zookeeper์ ๋ํด์ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
'Middleware > Kafka' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kafka] docker-compose๋ฅผ ํ์ฉํ ๋ ์ฌ์ด Kafka ์๋ฒ ์ค์น (1) | 2022.11.12 |
---|---|
[Kafka] ์ปจํ ์ด๋๋ฅผ ์ด์ฉํ Kafka ์ค์น (0) | 2022.10.09 |
[Kafka] ์นดํ์นด์ ์ฝ๋๋ค์ดํฐ Zookeeper (0) | 2022.07.31 |