๋๊ท๋ชจ ์์คํ
- ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ๋ง์ ์์ฒญ์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ ์์คํ
- ๋ฉ์์ง ์์คํ ์ ํ์ฉํ์ฌ ๊ฐ ์๋น์ค๊ฐ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ํต์ ๊ณผ ํ์ฅ์ฑ ๋ณด์ฅ
Kafka
- ๋ถ์ฐ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ, ์ค์๊ฐ ๋ฐ์ดํฐ ํผ๋์ ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ
- ๋ฉ์์ง ํ์ ์ ์ฌํ์ง๋ง ๋์ฉ๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ์ ์ฅํ๊ณ ์ค์๊ฐ์ผ๋ก ๋ถ์ํ๊ฑฐ๋ ์ฒ๋ฆฌํ๋๋ฐ ์ค์
๊ตฌ์ฑ ์์
message
- Kafka๋ฅผ ํตํด ์ ๋ฌ๋๋ ๋ฐ์ดํฐ ๋จ์
- key, value, timestamp, metadata๋ก ๊ตฌ์ฑ
producer
- ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ kafka์ ์ ๋ฌํ๋ ์ญํ
- ํน์ ํ ํฝ์ ๋ฉ์์ง ์ ๋ฌ
topic
- ๋ฉ์์ง๋ฅผ ์ ์ฅํ๋ ์ฅ์
- ์ฌ๋ฌ ํํฐ์ ์ผ๋ก ๋๋ ์ง๋ฉฐ ํํฐ์ ์ ๋ฉ์์ง๋ฅผ ์์๋๋ก ์ ์ฅ
partition
- ํ ํฝ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋๋ ๋จ์
key
- ๋ฉ์์ง๋ฅผ ํน์ ํํฐ์ ์ ํ ๋นํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ
consumer
- ํ ํฝ์์ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ ์ฒ๋ฆฌํ๋ ์ญํ
- ํน์ ์ปจ์๋จธ ๊ทธ๋ฃน์ ์ํ๋ฉฐ ํ ํฝ์ ํํฐ์ ์ ๋ถ์ฐ ์ฒ๋ฆฌ
broker
- kafka ํด๋ฌ์คํฐ์ ๊ฐ ์๋ฒ ์๋ฏธ
- ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ์ ์กํ๋ ์ญํ
zookeeper
- kafka ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ถ์ฐ ์ฝ๋๋ค์ด์ ์๋น์ค
- ๋ธ๋ก์ปค์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ธ๋ก์ปค๊ฐ์ ์ํธ์์ฉ ์กฐ์
Kafka์ RabbitMQ ์ฐจ์ด
RabbitMQ
- producer๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ consumer์ ์๋ํ๋๋ก ๋์ฐฉํ๋์ง ๋ชจ๋ํฐ๋ง
- ๋ณต์กํ ๋ฉ์์ง ๋ผ์ฐํ ์ ์ํด ์ค๊ณ
- ๋ฉ์์ง ํ ๊ธฐ๋ฐ ์ค๊ณ
- ๋ฉ์์ง ์ ๋ฌ์ ์ฐ์ ์์๋ฅผ ์ง์ ํ๋ ๋ฒ์ฉ ๋ฉ์์ง ๋ธ๋ก์ปค
- ์ด๋น ์์ฒ๊ฐ ๋ฉ์์ง ์ฒ๋ฆฌ, ์ง์ฐ์๊ฐ ์งง์
Kafka
- producer๋ consumer๊ฐ ๋ฉ์ธ์ง๋ฅผ ๊ฒ์ํ๋์ง ์ฌ๋ถ์ ์๊ด์์ด queue์ ์ ์ฅ
- ๋ ๋ณต์กํ ์ํคํ ์ณ๋ฅผ ์ฌ์ฉํ๊ณ ์ฒ๋ฆฌ๋์ด ๋์ ์คํธ๋ฆผ ์ด๋ฒคํธ ๊ด๋ฆฌ
- ํํฐ์ ๊ธฐ๋ฐ ์ค๊ณ
- ์ฐ์ ์์ ๋๊ธฐ์ด ์ง์ X, ํ ํฝ๊ณผ ํํฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฉ์ธ์ง ์ฒ๋ฆฌ, ํํฐ์ ๋ด๋ถ ์์ ๋ณด์ฅ
- ๋ฉ์์ง๋ฅผ ๋ก๊ทธ ํ์ผ์ ์ถ๊ฐํด ๋ณด์กด๊ธฐ๊ฐ์ด ๋ง๋ฃ๋ ๋๊น์ง ๋ณด๊ด
- ์ด๋น ์๋ฐฑ๋ง๊ฐ ๋ฉ์์ง ์ฒ๋ฆฌ, ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
RabbitMQ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ํ๋์ฉ ๊ฐ์ ธ์ค๋๊ตฌ์กฐ์ด๊ณ Kafka๋ ํ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ์ ์์ด ๋ง์์ RabbitMQ์ ์ง์ฐ์๊ฐ์ด ์งง์์๋ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ๋จ