์๋ ํ์ธ์, ํ๋ธ๋ฅด!
ํ๋ ์ฐ๋ฆฌ๋ ์ด ์ฃผ์ ๋ฅผ ๋ฌ์์ ์์ฅ์ ์ฒ์์ผ๋ก ์๊ฐํ์ต๋๋ค.
์๊ฐ
Kubernetes๋ ์ํ ๋น์ ์ฅ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์ํฌ๋ก๋๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ํํ๋ก ์ ๊ณต๋๋ฉฐ, ๊ฐ๋ณ๊ณ , ์ํ์ ์ผ๋ก ์ ํ์ฅ๋๋ฉฐ, 12๋จ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์น์ ๋ฐ๋ฅด๋ฉฐ, ํ๋ก ์ฐจ๋จ๊ธฐ ๋ฐ ์นด์ค์ค ๋ชฝํค์ ํจ๊ป ์๋ํ ์ ์์ต๋๋ค.
๋ฐ๋ฉด Kafka๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญํ ์ ํฉ๋๋ค. ๋ฐ๋ผ์ ์์ ํ ๋ ์ํ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ฉฐ ์ด๋ ๋ง์ดํฌ๋ก์๋น์ค๋ณด๋ค ํจ์ฌ ๋ฌด๊ฒ์ต๋๋ค. Kubernetes๋ ์ํ ์ ์ฅ ๋ก๋๋ฅผ ์ง์ํ์ง๋ง Kelsey Hightower๊ฐ ๋ ๊ฐ์ ํธ์์์ ์ง์ ํ๋ฏ์ด ์ฃผ์ํด์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
์ด๋ค ์ฌ๋๋ค์ Kubernetes๋ฅผ ์ํ ์ ์ฅ ์ํฌ๋ก๋์ ์ถ๊ฐํ๋ฉด RDS์ ํ์ ํ๋ ์์ ๊ด๋ฆฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ์๋ง๋ ์ถฉ๋ถํ ์ด์ฌํ ์ผํ๊ณ ์ถ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ์ถ๊ฐํ๊ณ SRE ์์ง๋์ด ํ์ ์ ์นํ๋ค๋ฉด Kubernetes ์์ RDS๋ฅผ ๊ตฌ์ถํ ์ ์์ ๊ฒ์ ๋๋ค.
์ ๋ ํญ์ ๋ชจ๋ ์ฌ๋์ด Kubernetes์์ ์ํ ์ ์ฅ ์ํฌ๋ก๋๋ฅผ ์คํํ ๋ ๊ทน๋์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. "Kubernetes์์ ์ํ ์ ์ฅ ์ํฌ๋ก๋๋ฅผ ์คํํ ์ ์๋์?"๋ผ๊ณ ๋ฌป๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ Kubernetes์ ๋ํ ๊ฒฝํ์ด ์ถฉ๋ถํ์ง ์์ผ๋ฉฐ, ๊ทธ๋ค์ด ๋ฌป๋ ์ํฌ๋ก๋์ ๋ํ ๊ฒฝํ๋ ๋ถ์กฑํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด Kubernetes์์ Kafka๋ฅผ ์คํํด์ผ ํ ๊น์? ๋ฐ๋ ์ง๋ฌธ: Kafka๋ Kubernetes ์์ด ๋ ์ ์๋ํ ๊น์? ์ด๊ฒ์ด ๋ฐ๋ก ์ด ๊ธฐ์ฌ์์ Kafka์ Kubernetes๊ฐ ์๋ก ์ด๋ป๊ฒ ๋ณด์ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ๋์ ๊ฒฐํฉํ ๋ ์ด๋ค ์ํ์ด ๋ฐ์ํ ์ ์๋์ง ๊ฐ์กฐํ๊ณ ์ถ์ ์ด์ ์ ๋๋ค.
์๋ฃ ์๊ฐ
๊ธฐ๋ณธ์ ์ธ ๊ฒ, ์ฆ ๋ฐํ์ ํ๊ฒฝ ์์ฒด์ ๋ํด ์ด์ผ๊ธฐํด ๋ด ์๋ค.
ะัะพัะตัั
Kafka ๋ธ๋ก์ปค๋ CPU ์นํ์ ์ ๋๋ค. TLS๋ ์ฝ๊ฐ์ ์ค๋ฒํค๋๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ Kafka ํด๋ผ์ด์ธํธ๋ ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ CPU๋ฅผ ๋ ๋ง์ด ์ฌ์ฉํ ์ ์์ง๋ง ์ด๋ ๋ธ๋ก์ปค์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
๊ธฐ์ต
Kafka ๋ธ๋ก์ปค๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ชจํฉ๋๋ค. JVM ํ ํฌ๊ธฐ๋ ์ผ๋ฐ์ ์ผ๋ก 4-5GB๋ก ์ ํ๋์ง๋ง Kafka๋ ํ์ด์ง ์บ์๋ฅผ ๋งค์ฐ ๋ง์ด ์ฌ์ฉํ๋ฏ๋ก ๋ง์ ์์คํ ๋ฉ๋ชจ๋ฆฌ๋ ํ์ํฉ๋๋ค. Kubernetes์์๋ ์ด์ ๋ฐ๋ผ ์ปจํ ์ด๋ ๋ฆฌ์์ค์ ์์ฒญ ์ ํ์ ์ค์ ํฉ๋๋ค.
๋ฐ์ดํฐ ์ ์ฅ์
์ปจํ
์ด๋์ ๋ฐ์ดํฐ ์ ์ฅ์ ์ผ์์ ์
๋๋ค. ๋ค์ ์์ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ค๋ฉ๋๋ค. Kafka ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ๋ณผ๋ฅจ์ ์ฌ์ฉํ ์ ์์ต๋๋ค emptyDir
, ํจ๊ณผ๋ ๋น์ทํฉ๋๋ค. ์๋ฃ ํ ๋ธ๋ก์ปค ๋ฐ์ดํฐ๊ฐ ์์ค๋ฉ๋๋ค. ๊ทํ์ ๋ฉ์์ง๋ ์ฌ์ ํ ๋ค๋ฅธ ๋ธ๋ก์ปค์ ๋ณต์ ๋ณธ์ผ๋ก ์ ์ฅ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ์์ ํ ์ฅ์ ๊ฐ ๋ฐ์ํ ๋ธ๋ก์ปค๋ ๋จผ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํด์ผ ํ๋ฉฐ ์ด ๊ณผ์ ์๋ ๋ง์ ์๊ฐ์ด ์์๋ ์ ์์ต๋๋ค.
์ด๊ฒ์ด ์ฅ๊ธฐ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ์
๋๋ค. XFS ํ์ผ ์์คํ
๋๋ ๋ ์ ํํ๊ฒ๋ ext4๋ฅผ ์ฌ์ฉํ๋ ๋น๋ก์ปฌ ์ฅ๊ธฐ ์ ์ฅ์๋ก ๋์ญ์์ค. NFS๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ๋๋ ๋น์ ์๊ฒ ๊ฒฝ๊ณ ํ๋ค. NFS ๋ฒ์ v3 ๋๋ v4๋ ์๋ํ์ง ์์ต๋๋ค. ์ฆ, NFS์ "์ด๋ฆฌ์์ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ" ๋ฌธ์ ๋ก ์ธํด ๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ ์ ์์ผ๋ฉด Kafka ๋ธ๋ก์ปค๊ฐ ์ถฉ๋ํฉ๋๋ค. ์์ง ์ค๋ํ์ง ๋ชปํ๋ค๋ฉด ์์ฃผ ์กฐ์ฌ์ค๋ฝ๊ฒ
๋คํธ์ํฌ
๋๋ถ๋ถ์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก Kafka์ ์ฑ๋ฅ์ ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ์ ์ต์๋ก ์ ์งํ๊ณ ๋์ญํญ์ ์ต๋๋ก ์ ์งํ๋ ๋ฐ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ๋์ผํ ๋ ธ๋์์ ๋ชจ๋ ๋ธ๋ก์ปค๋ฅผ ํธ์คํ ํ๋ ค๊ณ ์๋ํ์ง ๋ง์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ์ฉ์ฑ์ด ์ ํ๋ฉ๋๋ค. Kubernetes ๋ ธ๋๊ฐ ์คํจํ๋ฉด ์ ์ฒด Kafka ํด๋ฌ์คํฐ๊ฐ ์คํจํฉ๋๋ค. ๋ํ Kafka ํด๋ฌ์คํฐ๋ฅผ ์ ์ฒด ๋ฐ์ดํฐ ์ผํฐ์ ๋ถ์ฐ์ํค์ง ๋ง์ญ์์ค. Kubernetes ํด๋ฌ์คํฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์ด ๊ฒฝ์ฐ ์ข์ ์ ์ถฉ์์ ๋ค๋ฅธ ๊ฐ์ฉ์ฑ ์์ญ์ ์ ํํ๋ ๊ฒ์ ๋๋ค.
๊ตฌ์ฑ
์ ๊ธฐ ์ ์ธ๋ฌธ
์ฟ ๋ฒ๋คํฐ์ค ์น์ฌ์ดํธ์๋
- ์๋์: ํฌ๋๋ Kubernetes์์ ๋ฐฐํฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ๋จ์์ ๋๋ค. ํฌ๋์๋ ์ํฌ๋ก๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ํฌ๋ ์์ฒด๋ ํด๋ฌ์คํฐ์ ํ๋ก์ธ์ค์ ํด๋นํฉ๋๋ค. ํฌ๋์๋ ํ๋ ์ด์์ ์ปจํ ์ด๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์์๋ธ์ ๊ฐ ZooKeeper ์๋ฒ์ Kafka ํด๋ฌ์คํฐ์ ๊ฐ ๋ธ๋ก์ปค๋ ๋ณ๋์ ํฌ๋์์ ์คํ๋ฉ๋๋ค.
- ์คํ ์ดํธํ์ : StatefulSet์ ์ฌ๋ฌ ์ํ ์ ์ฅ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ๋ Kubernetes ๊ฐ์ฒด์ด๋ฉฐ ์ด๋ฌํ ์ํฌ๋ก๋์๋ ์กฐ์ ์ด ํ์ํฉ๋๋ค. StatefulSet์ Pod์ ์์์ ๊ณ ์ ์ฑ์ ๋ํ ๋ณด์ฅ์ ์ ๊ณตํฉ๋๋ค.
- ํค๋๋ฆฌ์ค ์๋น์ค: ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ผ๋ฆฌ์ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์์ ํฌ๋๋ฅผ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ Kubernetes๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ด๋นํฉ๋๋ค. ๊ทธ๋ฌ๋ ZooKeeper ๋ฐ Kafka์ ๊ฐ์ ์ํ ์ ์ฅ ์ํฌ๋ก๋๋ฅผ ์ด์ํ ๋ ํด๋ผ์ด์ธํธ๋ ํน์ ์ธ์คํด์ค์ ํต์ ํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ ํค๋๋ฆฌ์ค ์๋น์ค๊ฐ ์ ์ฉํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๋ ์ฌ์ ํ ๋ ผ๋ฆฌ์ ์ด๋ฆ์ ๊ฐ์ง์ง๋ง ํฌ๋์ ์ง์ ์ฐ๊ฒฐํ ํ์๋ ์์ต๋๋ค.
- ์ฅ๊ธฐ ์ ์ฅ๋: ์ด๋ฌํ ๋ณผ๋ฅจ์ ์์์ ์ธ๊ธํ ๋น๋ก์ปฌ ๋ธ๋ก ์๊ตฌ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ํ์ํฉ๋๋ค.
์
ํฌ๊ตฌ ์ฐจํธ
Helm์ yum, apt, Homebrew ๋๋ Chocolatey์ ๊ฐ์ OS ํจํค์ง ๊ด๋ฆฌ์์ ๋น๊ตํ ์ ์๋ Kubernetes์ฉ ํจํค์ง ๊ด๋ฆฌ์์
๋๋ค. Helm ์ฐจํธ์ ์ค๋ช
๋ ์ฌ์ ์ ์๋ ์ํํธ์จ์ด ํจํค์ง๋ฅผ ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค. ์ ์ ํ๋ Helm ์ฐจํธ๋ฅผ ์ฌ์ฉํ๋ฉด Kubernetes์์ Kafka๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ชจ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ ํ๊ฒ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ด๋ ค์ด ์์
์ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. ์ฌ๋ฌ ๊ฐ์ง Kafka ๋ค์ด์ด๊ทธ๋จ์ด ์์ต๋๋ค. ๊ณต์ ๋ค์ด์ด๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ์ฐ์
Helm์๋ ํน์ ๋จ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ ๋ค๋ฅธ ๋๊ตฌ์ธ Kubernetes Operator๊ฐ ์๋นํ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค. ์ด์์๋ Kubernetes์ฉ ์ํํธ์จ์ด๋ฅผ ํจํค์งํ ๋ฟ๋ง ์๋๋ผ ์ด๋ฌํ ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ ์๋ ์์ต๋๋ค.
๋ชฉ๋ก
ะัะพะธะทะฒะพะดะธัะตะปัะฝะพััั
Kafka ์ธ์คํด์ค๋ฅผ ๋ฒค์น๋งํนํ์ฌ ์ฑ๋ฅ์ ํ
์คํธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ฌํ ํ
์คํธ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ์ ์ฌ์ ์ธ ๋ณ๋ชฉ ํ์์ ์ฐพ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋คํํ Kafka๋ ์ด๋ฏธ ๋ ๊ฐ์ง ์ฑ๋ฅ ํ
์คํธ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. kafka-producer-perf-test.sh
ะธ kafka-consumer-perf-test.sh
. ์ ๊ทน์ ์ผ๋ก ํ์ฉํ์ธ์. ์ฐธ๊ณ ๋ก ์ ์ค๋ช
๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.
์ด์
๋ชจ๋ํฐ๋ง
์์คํ ์ ํฌ๋ช ์ฑ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์์คํ ์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ดํดํ์ง ๋ชปํ ๊ฒ์ ๋๋ค. ์ค๋๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์คํ์ผ๋ก ๋ฉํธ๋ฆญ ๊ธฐ๋ฐ ๋ชจ๋ํฐ๋ง์ ์ ๊ณตํ๋ ๊ฒฌ๊ณ ํ ํดํท์ด ์์ต๋๋ค. ์ด ๋ชฉ์ ์ ์ํด ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง ๋๊ตฌ๋ Prometheus์ Grafana์ ๋๋ค. Prometheus๋ JMX ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ Java ํ๋ก์ธ์ค(Kafka, Zookeeper, Kafka Connect)์์ ๋ฉํธ๋ฆญ์ ์์งํ ์ ์์ต๋๋ค. cAdvisor ๋ฉํธ๋ฆญ์ ์ถ๊ฐํ๋ฉด Kubernetes์์ ๋ฆฌ์์ค๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ๋ ์๋ฒฝํ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
Strimzi์๋ Kafka์ฉ Grafana ๋์๋ณด๋์ ๋งค์ฐ ํธ๋ฆฌํ ์๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ณต์ ๋์ง ์์ ์นํฐ ๋๋ ์คํ๋ผ์ธ์ธ ์นํฐ์ ๋ํ ์ฃผ์ ์งํ๋ฅผ ์๊ฐํํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ๋งค์ฐ ๋ช ํํฉ๋๋ค. ์ด๋ฌํ ์งํ๋ ๋ฆฌ์์ค ํ์ฉ๋, ์ฑ๋ฅ ์ ๋ณด, ์์ ์ฑ ์งํ๋ก ๋ณด์๋ฉ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ Kafka ํด๋ฌ์คํฐ ๋ชจ๋ํฐ๋ง์ ๋ฌด๋ฃ๋ก ์ด์ฉํ ์ ์์ต๋๋ค!
์ถ์ฒ :
ํด๋ผ์ด์ธํธ ๋ชจ๋ํฐ๋ง(์๋น์ ๋ฐ ์์ฐ์์ ๋ํ ์ธก์ ํญ๋ชฉ)๊ณผ ๋๊ธฐ ์๊ฐ ๋ชจ๋ํฐ๋ง(์ด๋ฅผ ์ํด ๋ค์์ด ์์ต๋๋ค)์ผ๋ก ์ด ๋ชจ๋ ๊ฒ์ ๋ณด์ํ๋ ๊ฒ์ด ์ข์ ๊ฒ์
๋๋ค.
๋ฒ์ฑ ๋ฐ์ถ
๋ก๊น
์ ๋ ๋ค๋ฅธ ์ค์ํ ์์
์
๋๋ค. Kafka ์ค์น์ ๋ชจ๋ ์ปจํ
์ด๋๊ฐ ๋ค์์ ๊ธฐ๋ก๋์ด ์๋์ง ํ์ธํ์ญ์์ค. stdout
ะธ stderr
, ๋ํ Kubernetes ํด๋ฌ์คํฐ๊ฐ ๋ชจ๋ ๋ก๊ทธ๋ฅผ ์ค์ ๋ก๊น
์ธํ๋ผ์ ์ง๊ณํ๋์ง ํ์ธํฉ๋๋ค.
๊ธฐ๋ฅ ์ ๊ฒ
Kubernetes๋ ํ์ฑ ์ํ ๋ฐ ์ค๋น ์ํ ํ๋ก๋ธ๋ฅผ ์ฌ์ฉํ์ฌ Pod๊ฐ ์ ์์ ์ผ๋ก ์คํ๋๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ํ์ฑ ํ์ธ์ด ์คํจํ๋ฉด Kubernetes๋ ํด๋น ์ปจํ ์ด๋๋ฅผ ์ค์งํ ๋ค์ ๊ทธ์ ๋ฐ๋ผ ๋ค์ ์์ ์ ์ฑ ์ด ์ค์ ๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋ค์ ์์ํฉ๋๋ค. ์ค๋น ํ์ธ์ด ์คํจํ๋ฉด Kubernetes๋ ์์ฒญ ์๋น์ค์์ ํฌ๋๋ฅผ ๊ฒฉ๋ฆฌํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๊ฒฝ์ฐ ์๋ ๊ฐ์ ์ด ๋ ์ด์ ํ์ํ์ง ์์ผ๋ฉฐ ์ด๋ ํฐ ์ฅ์ ์ ๋๋ค.
์ ๋ฐ์ดํธ ์ถ์
StatefulSet๋ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํฉ๋๋ค. RollingUpdate ์ ๋ต์ ์ ํํ๋ฉด Kafka ์๋์ ๊ฐ ์ ๋ต์ด ์ฐจ๋ก๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๊ฐ๋ ์ค์ง ์๊ฐ์ XNUMX์ผ๋ก ์ค์ผ ์ ์์ต๋๋ค.
์ค์ผ์ผ๋ง
Kafka ํด๋ฌ์คํฐ๋ฅผ ํ์ฅํ๋ ๊ฒ์ ์ฌ์ด ์์ ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ Kubernetes๋ฅผ ์ฌ์ฉํ๋ฉด Pod๋ฅผ ํน์ ์์ ๋ณต์ ๋ณธ์ผ๋ก ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. ์ฆ, ์ํ๋ ๋งํผ Kafka ๋ธ๋ก์ปค๋ฅผ ์ ์ธ์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๊ฐ์ฅ ์ด๋ ค์ด ์ ์ ํ์ฅ ํ ๋๋ ์ถ์ํ๊ธฐ ์ ์ ์นํฐ๋ฅผ ๋ค์ ํ ๋นํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฒ์๋ Kubernetes๊ฐ ์ด ์์ ์ ๋์์ ์ค ๊ฒ์ ๋๋ค.
๊ด๋ฆฌ
์ฃผ์ ์์ฑ, ์นํฐ ์ฌํ ๋น ๋ฑ Kafka ํด๋ฌ์คํฐ ๊ด๋ฆฌ์ ๊ด๋ จ๋ ์์ ์ ํฌ๋์์ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ฅผ ์ด์ด ๊ธฐ์กด ์ ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์๋ฃจ์ ์ ๋ณ๋ก ์๋ฆ๋ต์ง ์์ต๋๋ค. Strimzi๋ ๋ค๋ฅธ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ์ ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ์ ์ ์ฌ์ง๊ฐ ์์ต๋๋ค.
๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ
์ด์ Kafka์ ๊ฐ์ฉ์ฑ์ Kubernetes์ ๊ฐ์ฉ์ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. Kubernetes ํด๋ฌ์คํฐ๊ฐ ์คํจํ๋ฉด ์ต์
์ ์๋๋ฆฌ์ค์์๋ Kafka ํด๋ฌ์คํฐ๋ ์คํจํฉ๋๋ค. ๋จธํผ์ ๋ฒ์น์ ๋ฐ๋ฅด๋ฉด ์ด๋ฐ ์ผ์ด ๋ฐ๋์ ๋ฐ์ํ๊ณ ๋ฐ์ดํฐ๊ฐ ์์ค๋ฉ๋๋ค. ์ด๋ฌํ ์ ํ์ ์ํ์ ์ค์ด๋ ค๋ฉด ์ข์ ๋ฐฑ์
๊ฐ๋
์ ๊ฐ์ถ์ญ์์ค. MirrorMaker๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์ต์
์ ์ฌ๊ธฐ์ ์ค๋ช
๋ ๋๋ก S3๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
๊ฒฐ๋ก
์ค์ ๊ท๋ชจ์ Kafka ํด๋ฌ์คํฐ๋ก ์์
ํ ๋๋ ์ถ๊ฐ์ ์ธ ์ ์ฐ์ฑ์ ์ ๊ณตํ๊ณ ์ด์์ ๊ฒฝํ์ ๋จ์ํํ๋ฏ๋ก Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋งค์ฐ ์ค์ํ ๋น๊ธฐ๋ฅ ๋๊ธฐ ์๊ฐ ๋ฐ/๋๋ ์ฒ๋ฆฌ๋ ์๊ตฌ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ๋ฐฐํฌ ์ต์
์ ๊ณ ๋ คํ๋ ๊ฒ์ด ๋ ๋์ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com