์ปจ์๋จธ ํ์ธ ํ
์คํธ ์คํจ
ํผ์ ๊ณต๋ถํ๋ค๊ฐ, ๋์์ด ๋ ๊นํด์ ์ ๋ณด๋จ๊น๋๋ค.์ธํ
๋ฆฌ์ ์ด์์ ์คํ์์ ๋ถ๋ช
ํ๋ก๋ฐ์ด๋๊ฐ localhost:9092 ์ฆ, ์นดํ์นด๋ฅผ ํธ์ถ๋๊ฒ ์ค์ ํ์๋๋ฐ๋ ์ ๊ธฐํ๊ฒ ๋์ปคID:9092๋ฅผ ๊ฐ๋ฅด์ผ์ ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง๋ชปํ์๊ณ ์ํ๋ ๋ก๊ทธ๋ฅผ ์ฝ์์ฐฝ์์ ๋ณด์ง๋ชปํ์ต๋๋ค.์์ธ์ Docker ์ปจํ
์ด๋ ๋ด๋ถ์์ ์คํ ์ค์ธ Kafka ๋ธ๋ก์ปค๊ฐ ์ปจํ
์ด๋์ ๋ด๋ถ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. Kafka ๋ธ๋ก์ปค๋ ์์ฒด ๋ฉํ๋ฐ์ดํฐ์ ์์ ์ '๋์ปค์์ด๋:9092'์ ๊ฐ์ด ์ปจํ
์ด๋์ ํธ์คํธ ์ด๋ฆ์ผ๋ก ๋ณด๊ณ ํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ปจํ
์ด๋ ์ธ๋ถ์์ ์คํ๋๊ณ ์๋ค๋ฉด, 'localhost:9092'๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.์ด๋ฅผ์ํด ๋ฆฌ์ค๋์ค์ ์์ถ๊ฐํ๊ณ , docker-compose.ymlํ์ผ์ ์๋์๊ฐ์ด ์์ ํ์์ต๋๋ค. (์ฃผ์์ ๋ณด์๊ธฐ ํธํ๋ผ๊ณ ๋ฃ์ด๋์ต๋๋ค.)version: '3' # Docker Compose ํ์ผ์ ๋ฒ์ ์ ์ง์ ํฉ๋๋ค.services: # ์๋น์ค ์น์
์์๋ ์ฌ๋ฌ ๊ฐ์ Docker ์ปจํ
์ด๋ ์๋น์ค๋ฅผ ์ ์ํฉ๋๋ค. zookeeper: # Zookeeper ์๋น์ค ์ ์ image: wurstmeister/zookeeper:3.4.6 # Zookeeper ์ด๋ฏธ์ง๋ฅผ ์ง์ ํฉ๋๋ค. ports: - "2181:2181" # ํธ์คํธ์ 2181 ํฌํธ๋ฅผ ์ปจํ
์ด๋์ 2181 ํฌํธ์ ๋ฐ์ธ๋ฉํฉ๋๋ค. kafka: # Kafka ์๋น์ค ์ ์ image: wurstmeister/kafka:2.12-2.5.0 # Kafka ์ด๋ฏธ์ง๋ฅผ ์ง์ ํฉ๋๋ค. ports: - "9092:9092" # ํธ์คํธ์ 9092 ํฌํธ๋ฅผ ์ปจํ
์ด๋์ 9092 ํฌํธ์ ๋ฐ์ธ๋ฉํฉ๋๋ค. environment: # Kafka ์ปจํ
์ด๋์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค. KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:29092,OUTSIDE://localhost:9092 # ๋ด๋ถ ๋ฐ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋ ๋ฆฌ์ค๋ ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค. KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT # ๋ฆฌ์ค๋์ ๋ณด์ ํ๋กํ ์ฝ์ ๋งคํํฉ๋๋ค. KAFKA_LISTENERS: INSIDE://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092 # ์ปจํ
์ด๋ ๋ด๋ถ์์ ์ฌ์ฉํ ๋ฆฌ์ค๋ ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค. KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE # ๋ธ๋ก์ปค ๊ฐ ํต์ ์ ์ฌ์ฉํ ๋ฆฌ์ค๋ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 # Kafka๊ฐ Zookeeper์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค. volumes: - /var/run/docker.sock:/var/run/docker.sock # Docker ์์ผ์ ์ปจํ
์ด๋์ ๊ณต์ ํ์ฌ Docker ์ด๋ฒคํธ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ํฉ๋๋ค.์ ๋ ์ด๋ ๊ฒ ํด๊ฒฐํ์๋๋ฐ, ๋์์ด๋์ค๊นํด์ ๊ณต์ ๋๋ฆฝ๋๋ค.