[Kafka] ์นดํ์นด์ ์ฝ๋๋ค์ดํฐ Zookeeper
์ฐ๋ฆฌ๊ฐ ์ปดํจํฐ์ ์นดํ์นด๋ฅผ ์ค์นํ๋ ค๋ฉด ๋ฐ๋์ ๋ฐ๋ผ์ ์ค์นํด์ผํ๋ ๊ฒ์ด ์์ต๋๋ค. ๋ฐ๋ก ์ฃผํคํผ(Zookeeper)์ธ๋ฐ์.
๋ค๋ฅธ ๋ฉ์์ง ํ์ ๋ค๋ฅด๊ฒ ์นดํ์นด๋ ์ ์ฃผํคํผ๋ฅผ ํ์๋ก ํ๋ ๊ฒ์ผ๊น์?
์ฝ๋๋ค์ด์ ์๋น์ค ์์คํ (Coordination System)
๋ถ์ฐ ์ฒ๋ฆฌ ์์คํ ์ ๋ค๋ฃจ๋ค๋ณด๋ฉด ๊ฐ์ฅ ํฐ ๋์ ๊ฐ ๋ฐ๋ก ๋ถ์ฐ๋ ์์คํ ๋ผ๋ฆฌ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ๊ณต์ ํ ๊ฒ์ธ๊ฐ? ์ ๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค, ์นดํ์นด ๋ฑ ๋ถ์ฐ ์์คํ ์์ฒด๋ ํด๋ฌ์คํฐ๋ฅผ ์ค์ฌ์ผ๋ก ํ์ ๋ ธ๋๋ค์ด ์ง๊ฒฐ ๋์ด ์๋ ํํ๊ฐ ๋ณดํต์ธ๋ฐ ํด๋ฌ์คํฐ์์ ํ์ ๋ ธ๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ํด์ผํ ์ผ์ ์๋์ ๊ฐ์ต๋๋ค.
- ๊ฐ ํ์ ๋ ธ๋๋ค์ Healthcheck
- Lock Processing
๋ถ์ฐ๋ ์๋ฒ๋ค๋ผ๋ฆฌ ํต์ ํ ๋ ์๋ก ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ ค๋ค ๋ณด๋ฉด ์์ ์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ฐ, ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ํ์ ์ธ ํด๊ฒฐ์ฑ ์ผ๋ก๋ ๋ฐ๋ก ๋ฆฌ์์ค ๋ฝ(Lock)์ ๋ณผ ์ ์์ต๋๋ค. ์ด ๋ฆฌ์์ค๋ฅผ Lock, Unlockํ๋๋ฐ๋ ๊ด๋ฆฌํด์ฃผ๋ ์์คํ ์ด ํ์ํฉ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์์คํ ์ ์ฝ๋๋ค์ด์ ์๋น์ค ์์คํ ์ด๋ผ๊ณ ํ๋ฉฐ ์ด์ ๋ํ์ ์ธ ์คํ ์์ค ์๋ฃจ์ ์๋ ๋ฐ๋ก Zookeeper๊ฐ ์์ต๋๋ค.
์ฝ๋๋ค์ด์ ์๋น์ค๋ ๋ถ์ฐ ์์คํ ๋ด์์ ์ค์ํ ์ํ ์ ๋ณด๋ ์ค์ ์ ๋ณด ๋ฑ์ ์ ์งํ๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ค์ด์ ์์คํ ์ ์ฅ์ ๋ ์ ์ฒด ์์คํ ์ฅ์ ๋ก ์ด์ด์ง๋ ์ฅ์ ์ ํ ํน์ฑ์ ์ง๋๊ณ ์์ต๋๋ค. ๋ง์น Docker์ ๊ฐ์ฃ .
๋ฐ๋ผ์ ์ด์คํ ๋ฑ์ ์ด์ฉํ์ฌ ๊ณ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ๋ ๊ฒ์ด ํ์์ ๋๋ค.
Zookeeper
์ฃผํคํผ๋ ๋ถ์ฐ ์์คํ ์ค๊ณ๋ฅผ ์ํด ํ์ํ ์ฝ๋๋ค์ด์ ์๋น์ค ์์คํ ์ด ์ ๊ตฌํ๋์ด ์๋ ์คํ ์์ค ์ํํธ์จ์ด๋ก์จ ์ฝ๋๋ค์ด์ ์๋น์ค ์์คํ ์ ๊ณ ๊ฐ์ฉ์ฑ(HA)์ด ์ฉ์ดํ๋๋ก ๊ตฌํ๋์ด ์์ด ์ ๋ช ํ ๋ถ์ฐ ์๋ฃจ์ ์์ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
- Apache HBase (NoSQL)
- Apache Kafka
๋ถ์ฐ ์์คํ ์ ์ฝ๋๋ค์ด์ ํ๋ ์ฉ๋๋ก ๋์์ธ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ์ฌํญ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
- Data Access ์๋๊ฐ ๋นจ๋ผ์ผ ํจ.
- ์์ฒด์ ์ธ ์ฅ์ ๋์ ์๋ฃจ์ ํ์ (์: ํด๋ฌ์คํฐ๋ง)
Zookeeper๋ ์์ฒด์ ์ผ๋ก ํด๋ฌ์คํฐ๋ง ๊ธฐ๋ฅ์ ์ง์ํ๊ณ ์์ด, ์ด๋ฌํ ์ฝ๋๋ค์ด์ ์๋น์ค ์์คํ ๋์์ธ์ ์์ด ์์ฃผ ์ฝ๊ฒ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ ์ง๋๊ณ ์์ผ๋ฉฐ ๊ธฐ๋ฅ์ ์์ฃผ ์ฌํํฉ๋๋ค.
- ์ค์ ๊ด๋ฆฌ (Configuration Management)
ํด๋ฌ์คํฐ์ ์ค์ ์ ๋ณด๋ฅผ ์ต์ ์ผ๋ก ์ ์งํ๊ธฐ ์ํ ์์คํ - ํด๋ฌ์คํฐ ๊ด๋ฆฌ (Cluster Management)
ํด๋ฌ์คํฐ์ ์๋ฒ(๋ธ๋ก์ปค)๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์ ์ธ๋ ๋ ๊ทธ ์ ๋ณด๋ฅผ ํด๋ฌ์คํฐ ๋ด ์๋ฒ(๋ธ๋ก์ปค)๋ค์ด ๊ณต์ ํ๊ธฐ ์ํ ์์คํ - ๋ฆฌ๋ ์ฑํ (Leader selection)
๋ค์ค ์ ํ๋ฆฌ์ผ์ด์ ์ค ์ด๋ค ๋ ธ๋๋ฅผ ๋ฆฌ๋๋ก ์ฐ์ถํ ์ง ์ ํ๋ ๋ก์ง์ ๋ง๋๋ ์์คํ - ๋ฝ, ๋๊ธฐํ (Locking and syncronization Service)
ํด๋ฌ์คํฐ์์ ์ฐ๊ธฐ ์ฐ์ฐ์ด ๋น๋ฒํ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ ์ ์ฒด๋ฅผ ๋๊ธฐํ๋ฅผ ํตํด ๋ฐ์ดํฐ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ๋ ์์คํ
๋ถ์ฐ ์์คํ ์์ ์ด๋ค ๋ ธ๋์๊ฒ ์ฐ์ฐ์ ์ํฌ์ง ๊ฒฐ์ ํ๋ ๊ฒ๋ ํ๋์ ์ญํ ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ฌ๋ฌ ๋ ธ๋๋ค ์ค ์ ํด ์ํ์ธ ๋ ธ๋๋ฅผ ์ฐพ๋ ๋ก์ง์ ์ด๋ค์์ผ๋ก ํ ์ง ์ ํ๋ ๋ฆฌ๋ ์ฑํ์ด ๊ทธ ์ญํ ์ ํฉ๋๋ค.
Zookeeper Architecture
๊ทธ๋ ๋ค๋ฉด Zookeeper๋ ์ด๋ค ๊ตฌ์กฐ๋ก ๋์ด ์์๊น์?
์ฝ๋๋ค์ด์ ์๋น์ค ์์คํ ์ ๋ถ์ฐ ์์คํ ์ ์ผ๋ถ๋ถ์ด ๋์ด ๋์ํ๊ธฐ ๋๋ฌธ์ ์์ ๋งํ ๊ฒ์ฒ๋ผ ์ฝ๋๋ค์ด์ ์์คํ ์ด ์ค๋จ๋๋ฉด ๋ถ์ฐ ์์คํ ๋ ์ค๋จ๋๋ ์ฅ์ ์ ํ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
Zookeeper๋ ์์ ์ฑ์ ํ๋ณดํ๊ธฐ ์ํด ๋ค์์ Server๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ ํด๋ฌ์คํฐ ๊ตฌ์กฐ๋ฅผ ์ด์ฉํฉ๋๋ค. ์ด๋ k8s์ ์ ์ฌํ ๊ตฌ์กฐ๋ก ์๋ฒ ํด๋ฌ์คํฐ๋ 1๊ฐ์ Leader์ N๊ฐ์ Follower๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ์ด๋ฅผ ์ฃผํคํผ ์์๋ธ(Zookeeper Ensemble)์ด๋ผ๊ณ ๋ ํฉ๋๋ค.
์์๋ Client(์ฌ๊ธฐ์๋ Kafka)๊ฐ ์ฃผํคํผ ์๋ฒ๋ค๋ก ์ด๋ค์ง ์์๋ธ(Ensemble)์ ์ ๊ทผํ์ฌ Znode์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. ์์๋ธ ๋ด ์ฃผํคํผ ์๋ฒ๋ค์ ์กฐ์จ๋ ์ํ์ด๊ณ , ํญ์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ์ด๋ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ ๊ฐ์ ๋ฐ์ดํฐ๋ก ๋ถ๋ฌ์ค๊ฒ ๋ฉ๋๋ค.
Client(Kafka)๊ฐ ์ด๋ค ์ค์ ๊ฐ ํน์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฃผํคํผ์ ์ธ ๋ ์๋์ ๊ฐ์ด ๋์ํฉ๋๋ค.
- ํน์ ์๋ฒ์ ์ ์ํ์ฌ ์๋ฒ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ
- ํด๋น ์๋ฒ๋ Leader ์๋ฒ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ฐ์ดํธ ๋์์์ ์ ์ก
- Leader ์๋ฒ๋ ์ ๋ฐ์ดํธ ์ ํธ๋ฅผ ๋ฐ๊ณ , ๋ค๋ฅธ Follower ์๋ฒ๋ค์๊ฒ ๋ธ๋ก๋์บ์คํธ(Broadcast) ํ์์ผ๋ก ์ ์ก
- ๋๋จธ์ง Follower ์๋ฒ๋ค๋ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ
์ 4๊ฐ์ง ๊ณผ์ ์ ํตํด ์ฃผํคํผ๋ ๋ฐ์ดํฐ๋ฅผ ํญ์ ์ผ๊ด์ฑ ์๊ฒ ์ ์งํ๋๋ก ํฉ๋๋ค.
Znode (Zookeeper Data Model)
Znode๋ ์ฃผํคํผ์ ํต์ฌ์ ๋๋ค. ์ฃผํคํผ์ ๋ชจ๋ ๊ตฌํ์ ๊ฑฐ์ ์ด ๋ ์์ด๋ผ๊ณ ๋ด๋ ๋ฌด๋ฐฉํ ์ ๋์ธ๋ฐ์. Znode๋ ๋ฌด์์ผ๊น์?
Znode๋ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ ๊ธฐ๋ฐ์ผ๋ก ๋ Key-value ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ฌ์ค์ ์ฃผํคํผ๋ ์ฌ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๋นผ๋ ๊ธฐ๋ฅ์ด ๊ฐ์ฅ ํฐ ํต์ฌ์ด๊ณ ๋๋จธ์ง๋ ๋ถ์ฐ ์์คํ ์ ๋ฌธ์ ๋ฅผ ์ด๋ก ๊ตฌํํ ๊ฒ์ผ ๋ฟ์ ๋๋ค.
์ด Znode๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ๋์ ๋ฐ๋ผ์ ๋ถ์ฐ ์์คํ ๊ฐ ์ ๋ณด ๊ณต์ , ์ด๋ฒคํธ ์ฒ๋ฆฌ, ๋ฝ ๊ด๋ฆฌ ๋ฑ์ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉํ ์๋ ์์ต๋๋ค.
- Persistent Node (์์ ๋
ธ๋)
z๋ ธ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๊ฐ ์๊ตฌ ์ ์ฅ๋๋ ๋ ธ๋ (๋จ, ๊ฐ์ ์ญ์ ์์ ์ญ์ ๋จ) - Ephemeral Node (์์ ๋
ธ๋)
z๋ ธ๋๋ฅผ ์์ฑํ ํด๋ผ์ด์ธํธ์ ์ธ์ ์ด ์ฐ๊ฒฐ๋์ด ์์ ๋๋ง ์ ํจํ ๋ ธ๋ (์ฐ๊ฒฐ์ด ๋์ด์ง ์ ์๋ ์ญ์ ) - Sequence Node (์ฐ์ํ ๋
ธ๋)
z๋ ธ๋๋ฅผ ์์ฑํ ๋ ์๋์ผ๋ก sequence ๋ฒํธ๊ฐ ๋ถ๋ ๋ ธ๋ (๋ถ์ฐ๋ฝ ๊ตฌํ์ ์ด์ฉ)
์ผํ ๋ณด๋ฉด Linux File system๊ณผ๋ ์ ์ฌํ ํํ๋ฅผ ๋๊ณ ์์ต๋๋ค. ์ด ๊ตฌ์กฐ๋ฅผ ์ฃผํคํผ์์๋ ์ฃผํคํผ ๋ฐ์ดํฐ ๋ชจ๋ธ(Zookeeper Data Model)์ด๋ผ๊ณ ๋ ํ๊ณ , ๋ช ๋ช ๊ตฌ์กฐ๋ Hierarhical namespace ๋ฃฐ์ ๋ฐ๋ฆ ๋๋ค.
๊ฐ z๋ ธ๋๋ Stat ๊ตฌ์กฐ๋ฅผ ์ ์งํ๊ณ ์๊ณ , ์ด Stat์ ์๋์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Version Number
๋ชจ๋ znode๋ ๋ฒ์ ๋๋ฒ๋ฅผ ๊ฐ์ง๊ณ ์์. ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ์ ๊ณ์ ๋ณ๊ฒฝ๋จ. - ACL (Action Control List)
znode์ ์ ๊ทผํ๊ธฐ ์ํ ๊ถํ ํ๋ ๋งค์ปค๋์ฆ - Timestamp
znode ์์ฑ ์๊ฐ, ์์ฑ ํ ๊ฒฝ๊ณผ๋ ์๊ฐ, ์ ๋ฐ์ดํธ ์๊ฐ์ ms ๋จ์๋ก ์ ์ฅ.
-> ์ฃผํคํผ์๋ znode๋ฅผ ์ฝ๊ณ ์ฐ๋ ํธ๋์ญ์ (Transaction)์ด ์กด์ฌํ๋๋ฐ, ์ด ํธ๋์ญ์ ์ ๋ณด๋ Zxid๋ก ๊ตฌ๋ถํ๋ฉฐ timestamp๋ฅผ ๋ณด๊ณ ํธ๋์ญ์ ๋ฐ์ ๋ก๊ทธ๋ฅผ ๋ฐ๋ก ์ ์ ์์. - Data length
์ฃผํคํผ์ ๋ฐ์ดํฐ ํฌ๊ธฐ (์ฃผํคํผ์ ๋ฐ์ดํฐ๋ค์ ์ต๋ 1MB๊น์ง ์ ์ฅ ๊ฐ๋ฅ)
๊ฒฐ๊ตญ ์ฃผํคํผ๋ ์นดํ์นด์ ์ฝ๋๋ค์ดํฐ๊ฐ ์๋ ๋ถ์ฐ ์์คํ ์ ์ํ ์ฝ๋๋ค์ดํฐ๋ผ๊ณ ํ ์ ์๊ณ , ๋ ์ ํํ๋ ๋ถ์ฐ ์์ ์ ์ด๋ฅผ ์ํ ํธ๋ฆฌ ํํ์ ๋ฐ์ดํฐ ์ ์ฅ์์ ๋๋ค.
Watcher
์ฃผํคํผ์๋ Watcher ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ, Watcher๋ ํน์ znode์ ๋ณ๊ฒฝ ๋ฑ์ ๊ฐ์งํ๋ ์ฃผํคํผ์ ์ปดํฌ๋ํธ๋ก ํน์ znode์ watcher๋ฅผ ๋ฃ์ผ๋ฉด ํด๋ผ์ด์ธํธ๋ก ์ฝ๋ฐฑ์ ๋ฐ์ํ์ฌ ํด๋น znode๊ฐ ๋ณ๊ฒฝ๋์์์ ์๋ ค์ฃผ๋ฉฐ ์ด์ ๋์์ ํด๋น watcher๋ ์ ๊ฑฐ๋ฉ๋๋ค.
In Kafka
์ฐ๋ฆฌ๊ฐ ๋ถ์ฐ ์์คํ ์ ๋ฐ๋์ ํ์๋ก ํ๋ ๊ฒ์ด ์ฝ๋๋ค์ดํฐ ์๋น์ค ์์คํ ์ด๋ผ๋ ๊ฒ์ ์์๊ณ , ๊ทธ ๋ํ์ ์ธ ๊ฒ์ด ์ฃผํคํผ๋ผ๋ ๊ฒ์ ์์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์นดํ์นด์์ ์ฃผํคํผ๋ ์ด๋ค ์ฉ๋๋ก ์ฌ์ฉ๋ ๊น์?
์นดํ์นด์ ์ฃผํคํผ ํด๋ผ์ด์ธํธ๋ ์นดํ์นด์ ๋ธ๋ก์ปค๋ฅผ ๊ด๋ฆฌํ๊ณ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.
์นดํ์นด๋ ๋ถ์ฐ ์ฒ๋ฆฌ ํ๋ซํผ์ด์ง๋ง ๊ณต๊ต๋กญ๊ฒ๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ Pub/Sub ์ธ์๋ ์๋ฌด๊ฒ๋ ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ธ๋ก์ปค ์ํ๋ฅผ ์ ์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ ์ฃผํคํผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ด ๋ Producer์ Consumer๋ ์นดํ์นด์ ๋ธ๋ก์ปค ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ง์ฝ ๋์ ์ผ๋ก ๋ธ๋ก์ปค์ ์ํ๊ฐ ๋ณ๊ฒฝ(์ค์ผ์ผ ์์ ๋๋ ๋ฑ)๋๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ฃผํคํผ๊ฐ Producer์ Consumer์๊ฒ ์๋ ค์ค๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์นดํ์นด ๋ฉ์์ง ๋ธ๋ก์ปค์ Zookeeper๋ 1:1๋ก ๊ตฌ์ฑ๋๋ฉฐ ๋ง์ฝ Producer๊ฐ ํน์ ์นดํ์นด ๋ธ๋ก์ปค๋ก ๋ฉ์์ง๋ฅผ ์์ฐํ์ ๋ ์ด๋ฅผ ์คํจํ๋ฉด ์ฃผํคํผ๊ฐ ๋ค๋ฅธ ์ ์ ์๋ฒ๋ก Producer์ Consumer์๊ฒ ๋ธ๋ก์ปค๋ฅผ ์๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ์ด์๋ฉ๋๋ค.
๋ง์น๋ฉฐ...
์นดํ์นด๋ ๋์ฉ๋ ๋ฐ์ดํฐ ๋ถ์ฐ ์ฒ๋ฆฌ ํ๋ซํผ์ด์ง๋ง ์ค์ง ๋ฐ์ดํฐ ๋ถ์ฐ ์ฒ๋ฆฌ์๋ง ๊ทธ ์ญํ ์ ํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ถ์ฐ ์์คํ ์ค๊ณ์ ํ์ํ ๋ฐ์ดํฐ ๊ณต์ ๋ ๋ฝ ๋ฑ์ ์นดํ์นด๊ฐ ์๋ ์ฃผํคํผ๋ฅผ ํตํด ๋ณ๋๋ก ๊ด๋ฆฌ๋์ด์ง๊ณ ์๋ค ๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
์ด๋ฌํ ์ํํธ์จ์ด ๊ตฌ์กฐ๋ ๊ฐ์ธ์ ์ผ๋ก ์์ฃผ ๊น๋ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ๋์ ์ํํธ์จ์ด๊ฐ ํ๋์ ์ฑ ์์ ์ง๋๊ฒ ๋จ์ผ๋ก์จ ์ํํธ์จ์ด ๊ด๋ฆฌ๊ฐ ์ ์ฐํด์ง๊ณ ์ญํ ์ด ๋ถ๋ช ํ๊ธฐ ๋๋ฌธ์ ์ดํดํ๊ธฐ๋ ์ฝ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฃผํคํผ์ ๋ํ ๋ ์์ธํ ์ด์ผ๊ธฐ๋ ๋ง์ง๋ง ์ด๋ฒ ํฌ์คํธ์์๋ ์นดํ์นด์์ ์ฃผํคํผ๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๊ฐ๋จํ ๊ฐ๋ ๊ณผ ๊ทธ ์ฌ๋ก๋ฅผ ์ ์ด๋ดค์ต๋๋ค.
๋ค์ ํฌ์คํธ์์๋ Docker๋ฅผ ์ด์ฉํ์ฌ ์นดํ์นด๋ฅผ ๊ตฌ๋ํ๋ ๊ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
'Middleware > Kafka' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kafka] docker-compose๋ฅผ ํ์ฉํ ๋ ์ฌ์ด Kafka ์๋ฒ ์ค์น (1) | 2022.11.12 |
---|---|
[Kafka] ์ปจํ ์ด๋๋ฅผ ์ด์ฉํ Kafka ์ค์น (0) | 2022.10.09 |
[Kafka] Apache Kafka๋ ๋ฌด์์ด๊ณ ์ ์ฑ๋ฅ์ด ๋น ๋ฅผ๊น? (0) | 2022.07.30 |