"์ํ์น ์นดํ์นด ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ with ์๋ฐ"
๊ต์ฌ์ ํ์ต ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค
์ฐ์ ์์ํ๊ธฐ์ ์์ ์นดํ์นด๋?
์นดํ์นด๋ ํ์ดํ๋ผ์ธ, ์คํธ๋ฆฌ๋ฐ ๋ถ์, ๋ฐ์ดํฐ ํตํฉ ๋ฐ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ค๊ณ๋ ๊ณ ์ฑ๋ฅ ๋ถ์ฐ ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์
=> Pub-Sub ๋ชจ๋ธ์ ๋ฉ์์ง ํ ํํ๋ก ๋์ํ๋ฉฐ ๋ถ์ฐํ๊ฒฝ์ ํนํ๋์ด ์์
์นดํ์นด ๋ธ๋ก์ปค · ํด๋ฌ์คํฐ · ์ฃผํคํผ
์นดํ์นด ๋ธ๋ก์ปค๋ ์นดํ์นด ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ฃผ์ฒด์ด์, ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ ์ ์ฅํ์ฌ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ค!
=> ํ๋์ ์๋ฒ์๋ ํ ๊ฐ์ ์นดํ์นด ๋ธ๋ก์ปค ํ๋ก์ธ์ค๊ฐ ์คํ๋จ
(์นดํ์นด ๋ธ๋ก์ปค ์๋ฒ 1๋๋ก๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด ์คํ๋์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ณด๊ดํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํด 3๋ ์ด์์ ๋ธ๋ก์ปค ์๋ฒ๋ฅผ 1๊ฐ์ ํด๋ฌ์คํฐ๋ก ๋ฌถ์ด์ ์ด์ํ๊ฒ ๋จ)
์นดํ์นด ํด๋ฌ์คํฐ๋ก ๋ฌถ์ธ ๋ธ๋ก์ปค๋ค์ ํ๋ก๋์๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ถ์ฐ ์ ์ฅํ๊ณ ๋ณต์ ํ๋ ์ญํ ์ ์ํํจ
๋ฐ์ดํฐ ์ ์ฅ, ์ ์ก
ํ๋ก๋์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ์ผ๋ฉด ์นดํ์นด ๋ธ๋ก์ปค๋ ํ๋ก๋์๊ฐ ์์ฒญํ ํ ํฝ์ ํํฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ
์ปจ์๋จธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด ํํฐ์ ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ค!
=> ์ด ๋ ํ๋ก๋์๋ก๋ถํฐ ์ ๋ฌ๋ ๋ฐ์ดํฐ๋ ํ์ผ ์์คํ ์ ์ ์ฅ๋จ
(์นดํ์นด์์ ์ ์ํ ๋๋ ํ ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์)
์นดํ์นด๋ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ์ง ์์ผ๋ฉฐ ๋ฐ๋ก ์บ์๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ตฌํํ์ฌ ์ฌ์ฉํ์ง๋ ์์!
๊ทธ๋ผ ์ด๋ ๊ฒ ํ์ผ ์์คํ ์ ์ ์ฅํ๋ฉด ํ์ผ ์ ์ถ๋ ฅ์ผ๋ก ์ธํด ์๋ ์ด์๊ฐ ๋ฐ์ํ์ง ์์๊น?
๋น์ฐํ ํ์ผ ์์คํ ์ผ๋ก ์ง์์ ์ธ ์ ์ถ๋ ฅ์ ํ๊ฒ ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์ฒ๋ฆฌ ์๋๊ฐ ํจ์ฌ ๋๋ฆผ..
but, ์นดํ์นด๋ page cache๋ฅผ ์ฌ์ฉํ์ฌ ๋์คํฌ ์ ์ถ๋ ฅ ์๋๋ฅผ ๋์ฌ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์
=> page cache๋ OS์์ ํ์ผ ์ ์ถ๋ ฅ์ ์ฑ๋ฅ ํฅ์์ ์ํด ๋ง๋ค์ด ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ปํจ
(์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์์ ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ์ง ์๊ณ , ์ด์์ฒด์ (OS)์์ ์ ๊ณตํ๋ ํ์ด์ง ์บ์ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ค๋ ๋ป)
ํ๋ฒ ์ฝ์ ํ์ผ์ ๋ด์ฉ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง ์บ์ ์์ญ์ ์ ์ฅ์ํค๊ณ ์ถํ ๋์ผํ ํ์ผ์ ์ ๊ทผ์ด ์ผ์ด๋๋ฉด ๋์คํฌ์์ ์ฝ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์์ ์ง์ ์ฝ๋ ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ (์ปดํจํฐ ๊ตฌ์กฐ์์ ๋ง์ด ๋ค๋ค๋ ์ด์ผ๊ธฐ)
page cache๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์นดํ์นด์์ ์บ์๋ฅผ ์ง์ ๊ตฌํํด์ผ ํ์ ๊ฒ์ด๊ณ JVM ์์์ ๋์ํ๋ ์นดํ์นด ๋ธ๋ก์ปค๋ ์ง์์ ์ผ๋ก ๋ณ๊ฒฝ๋๋ ๋ฐ์ดํฐ ๋๋ฌธ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ์์ฃผ ์ผ์ด๋ ์๋๊ฐ ๊ต์ฅํ ๋๋ ค์ง ๊ฒ์
(์ด๋ฌํ ํน์ง ๋๋ฌธ์ ์นดํ์นด ๋ธ๋ก์ปค๋ฅผ ์คํํ๋๋ฐ ํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ฆ๋ฅผ ํฌ๊ฒ ์ค์ ํ ํ์ X)
๋ฐ์ดํฐ ๋ณต์ , ์ฑํฌ
๋ฐ์ดํฐ ๋ณต์ (replication)๋ ์นดํ์นด๋ฅผ ์ฅ์ ํ์ฉ ์์คํ (fault tolerant system)์ผ๋ก ๋์ํ๋๋ก ํ๋ ์๋๋ ฅ์
=> ๋ณต์ ์ ์ด์ ๋ ํด๋ฌ์คํฐ๋ก ๋ฌถ์ธ ๋ธ๋ก์ปค ์ค ์ผ๋ถ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์คํ์ง ์๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํจ
์นดํ์นด์ ๋ฐ์ดํฐ ๋ณต์ ๋ ํํฐ์ ๋จ์๋ก ์ด๋ฃจ์ด์ง๋๋ฐ ํ ํฝ์ ์์ฑํ ๋ ํํฐ์ ์ ๋ณต์ ๊ฐ์(replication factor)๋ ๊ฐ์ด ์ค์ ๋๋๋ฐ ์ง์ ์ต์ ์ ์ ํํ์ง ์์ผ๋ฉด ๋ธ๋ก์ปค์ ์ค์ ๋ ๊ฐ์ ๋ฐ๋ผ๊ฐ
(๋ณต์ ๊ฐ์์ ์ต์๊ฐ์ 1(๋ณต์ ์์)์ด๊ณ ์ต๋๊ฐ์ ๋ธ๋ก์ปค ๊ฐ์๋งํผ ์ค์ ํ์ฌ ์ฌ์ฉํ ์ ์์)
ํ๋ก๋์ ๋๋ ์ปจ์๋จธ์ ์ง์ ํต์ ํ๋ ํํฐ์ ์ ๋ฆฌ๋, ๋๋จธ์ง ๋ณต์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํํฐ์ ์ ํ๋ก์๋ผ๊ณ ๋ถ๋ฆ
ํ๋ก์ ํํฐ์ ๋ค์ ๋ฆฌ๋ ํํฐ์ ์ ์คํ์ ์ ํ์ธํ์ฌ ํ์ฌ ์์ ์ด ๊ฐ์ง๊ณ ์๋ ์คํ์ ๊ณผ ์ฐจ์ด๊ฐ ๋๋ ๊ฒฝ์ฐ ๋ฆฌ๋ ํํฐ์ ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์์ ์ ํํฐ์ ์ ์ ์ฅํ๊ฒ ๋จ
=> ์ด ๊ณผ์ ์ ๋ณต์ (replication)๋ผ๊ณ ๋ถ๋ฆ
ํํฐ์ ๋ณต์ ๋ก ์ธํด ๋๋จธ์ง ๋ธ๋ก์ปค์๋ ํํฐ์ ์ ๋ฐ์ดํฐ๊ฐ ๋ณต์ ๋๋ฏ๋ก ๋ณต์ ๊ฐ์๋งํผ์ ์ ์ฅ ์ฉ๋์ด ์ฆ๊ฐํ๋ค๋ ๋ด์ ์ด ์์ง๋ง ๋ณต์ ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฐ๋ ฅํ ์ฅ์ ๋๋ฌธ์ ์นดํ์นด๋ฅผ ์ด์ํ ๋ 2 ์ด์์ ๋ณต์ ๊ฐ์๋ฅผ ์ ํ๋ ๊ฒ์ด ์ค์ํจ!
๋ง์ฝ ์ ๊ทธ๋ฆผ์ฒ๋ผ 3๊ฐ์ ๋ธ๋ก์ปค๋ก ์ด๋ฃจ์ด์ง ์นดํ์นด ํด๋ฌ์คํฐ ์ค ์นดํ์นด 0๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด?
๋ธ๋ก์ปค๊ฐ ๋ค์ด๋๋ฉด ํด๋น ๋ธ๋ก์ปค์ ์๋ ๋ฆฌ๋ ํํฐ์ ์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํํฐ์ ์ค ํ๋๊ฐ ๋ฆฌ๋ ํํฐ์ ์ง์๋ฅผ ๋๊ฒจ ๋ฐ์!
=> ๋ฐ์ดํฐ๊ฐ ์ ์ค๋์ง ์๊ณ ์ปจ์๋จธ๋ ํ๋ก๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ก ๋์ํจ
์ด์ ์์๋ ๋ฐ์ดํฐ ์ข ๋ฅ๋ง๋ค ๋ค๋ฅธ ๋ณต์ ๊ฐ์๋ฅผ ์ค์ ํ๊ณ ์ฑํฉ์ ๋ฐ๋ผ์๋ ํ ํฝ๋ง๋ค ๋ณต์ฌ ๊ฐ์๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ์ฌ ์ด์ํ๊ธฐ๋ ํจ
=> ๋ฐ์ดํฐ๊ฐ ์ผ๋ถ ์ ์ค๋์ด๋ ๋ฌด๊ดํ๊ณ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๊ฐ ์ค์ํ๋ค๋ฉด 1 ๋๋ 2๋ก ์ค์
=> ๊ธ์ต ์ ๋ณด์ ๊ฐ์ด ์ ์ค์ด ์ผ์ด๋๋ฉด ์ ๋๋ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ๋ณต์ ๊ฐ์๋ฅผ 3์ผ๋ก ์ค์ ํ์ฌ ์ต๋ 2๊ฐ์ ๋ธ๋ก์ปค์์ ๋์์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ผ๋ก ์ ์งํ ์ ์๋๋ก ํจ
์ปจํธ๋กค๋ฌ(controller)
ํด๋ฌ์คํฐ์ ๋ค์ ๋ธ๋ก์ปค ์ค ํ ๋๊ฐ ์ปจํธ๋กค๋ฌ์ ์ญํ ์ ํจ!
=> ์ปจํธ๋กค๋ฌ๋ ๋ค๋ฅธ ๋ธ๋ก์ปค๋ค์ ์ํ๋ฅผ ์ฒดํฌํ๊ณ ๋ธ๋ก์ปค๊ฐ ํด๋ฌ์คํฐ์์ ๋น ์ง๋ ๊ฒฝ์ฐ ํด๋น ๋ธ๋ก์ปค์ ์กด์ฌํ๋ ๋ฆฌ๋ ํํฐ์ ์ ์ฌ๋ถ๋ฐฐํ๋ค
(์นดํ์นด๋ ์ง์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ฏ๋ก ๋ธ๋ก์ปค์ ์ํ๊ฐ ๋น์ ์์ด๋ผ๋ฉด ๋น ๋ฅด๊ฒ ํด๋ฌ์คํฐ์์ ๋นผ๋ด์ผ ํจ!)
๊ทธ๋ผ ์ปจํธ๋กค๋ฌ๋ฅผ ๋งก์ ๋ธ๋ก์ปค์ ์ฅ์ ๊ฐ ์๊ธฐ๋ฉด..?
๋ค๋ฅธ ๋ธ๋ก์ปค๊ฐ ์ปจํธ๋กค๋ฌ ์ญํ ์ ๋ ํ๋ค...ใ ใ
๋ฐ์ดํฐ ์ญ์
์นดํ์นด๋ ๋ค๋ฅธ ๋ฉ์์ง ํ๋ซํผ๊ณผ ๋ค๋ฅด๊ฒ ์ปจ์๋จธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋๋ผ๋ ํ ํฝ์ ๋ฐ์ดํฐ๋ ์ญ์ ๋์ง ์์
(์ปจ์๋จธ๋ ํ๋ก๋์๊ฐ ์ ์ด์ ๋ฐ์ดํฐ ์ญ์ ๋ฅผ ์์ฒญํ ์ X)
=> ์ค์ง ๋ธ๋ก์ปค๋ง์ด ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ์ ์์
์ฐ์ ์นดํ์นด์์ ๋ธ๋ก์ปค์ ์ํ ๋ฐ์ดํฐ ์ญ์ ๋ ํ์ผ ๋จ์๋ก ์ด๋ฃจ์ด์ง๋๋ฐ ์ด ๋จ์๋ฅผ 'log segment'๋ผ๊ณ ํจ
์ด ์ธ๊ทธ๋จผํธ์๋ ๋ค์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด ์๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฒ๋ผ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ณํด์ ์ญ์ ํ ์ X
=> ์ธ๊ทธ๋จผํธ๋ ๋ฐ์ดํฐ๊ฐ ์์ด๋ ๋์ ํ์ผ ์์คํ ์ผ๋ก ์ด๋ ค์์ผ๋ฉฐ ์นดํ์นด ๋ธ๋ก์ปค์ log.segment.bytes ๋๋ log.segment.ms ์ต์ ์ ๊ฐ์ด ์ค์ ๋๋ฉด ์ธ๊ทธ๋จผํธ ํ์ผ์ด ๋ซํ๊ฒ ๋จ
(์ธ๊ทธ๋จผํธ ํ์ผ์ด ๋ซํ๊ฒ ๋๋ ๊ธฐ๋ณธ๊ฐ์ 1GB ์ฉ๋์ ๋๋ฌํ์ ๋์ธ๋ฐ ๊ฐ๊ฒฉ์ ๋ ์ค์ด๊ณ ์ถ๋ค๋ฉด ์์ ์ฉ๋์ผ๋ก ์ค์ ํ๋ฉด๋จ)
=> ์์ ์ฉ๋์ด๋ผ๋ฉด ๋ฐ์ดํฐ๋ค์ ์ ์ฅํ๋ ๋์ ์ธ๊ทธ๋จผํธ ํ์ผ์ ์์ฃผ ์ฌ๋ซ์์ผ๋ก ๋ถํ ๋ฐ์ํ ์ ์์ผ๋ ์ฃผ์!
์ธ๊ทธ๋จผํธ๊ฐ ๋ซํ๋ค๋๊ฒ ๋ฌด์จ ์๋ฆฌ์ง?
์ธ๊ทธ๋จผํธ๊ฐ ๋ซํ๊ฒ๋๋ฉด ํด๋น ์ธ๊ทธ๋จผํธ ํ์ผ์ด ๋ ์ด์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ง ์๊ณ , ์ฝ๊ธฐ ์ ์ฉ ์ํ๋ก ๋ณํ๋ ๊ฒ์ ๋ปํจ
ํ๋์ ํํฐ์ ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ์ฌ๋ฌ ๊ฐ์ ์ธ๊ทธ๋จผํธ ํ์ผ๋ก ๋๋์ด์ ธ ์ ์ฅ๋๋๋ฐ
์นดํ์นด๋ ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก ๋ฐ์๋ค์ด๊ธฐ ๋๋ฌธ์, ํํฐ์ ์ ํฌ๊ธฐ๊ฐ ์ปค์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ํํฐ์ ์ ์ฌ๋ฌ ๊ฐ์ ์์ ์ธ๊ทธ๋จผํธ ํ์ผ๋ก ๋ถํ ํด์ ์ ์ฅํ๋๊ฑฐ์!
๋ค์ ํ ๋ฒ ์ธ๊ทธ๋จผํธ์ ๋ํด ์ ๋ฆฌํ์๋ฉด
์ธ๊ทธ๋จผํธ๋ ํํฐ์ ์ ์ผ๋ถ์ด๋ฉฐ, ํํฐ์ ๋ด์์ ์๊ฐ ๋๋ ํฌ๊ธฐ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฌ ์ธ๊ทธ๋จผํธ ํ์ผ์ด ์์ฑ๋๋๊ฑฐ์
=> ๋ซํ ์ธ๊ทธ๋จผํธ ํ์ผ์ log.retentiokn.bytes ๋๋ log.retention.ms ์ต์ ์ ์ค์ ๊ฐ์ด ๋์ผ๋ฉด ์ญ์ ๋จ
(๋ซํ ์ธ๊ทธ๋จผํธ ํ์ผ์ ์ฒดํฌํ๋ ๊ฐ๊ฒฉ์ ์นดํ์นด ๋ธ๋ก์ปค์ ์ต์ ์ ์ค์ ๋ log.retention.check.interval.ms๋ฅผ ๋ฐ๋ฆ)
์ปจ์๋จธ ์คํ์ ์ ์ฅ
์ปจ์๋จธ ๊ทธ๋ฃน์ ํ ํฝ์ด ํน์ ํํฐ์ ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌํ๊ณ ์ด ํํฐ์ ์ด ์ด๋ ๋ ์ฝ๋๊น์ง ๊ฐ์ ธ๊ฐ๋์ง ํ์ธํ๊ธฐ ์ํด ์คํ์ ์ ์ปค๋ฐํจ!
=> ์ปค๋ฐํ ์คํ์ ์ _consumer_offsets ํ ํฝ์ ์ ์ฅ
(์ฌ๊ธฐ์ ์ ์ฅ๋ ์คํ์ ์ ํ ๋๋ก ์ปจ์๋จธ ๊ทธ๋ฃน์ ๋ค์ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌ)
์ฝ๋๋ค์ดํฐ(coordinator)
์ปจํธ๋กค๋ฌ์ ๊ฐ์ด ํด๋ฌ์คํฐ์ ๋ค์ ๋ธ๋ก์ปค ์ค ํ ๋๋ ์ฝ๋๋ค์ดํฐ์ ์ญํ ์ ์ํํจ
=> ์ฝ๋๋ค์ดํฐ๋ ์ปจ์๋จธ ๊ทธ๋ฃน์ ์ํ๋ฅผ ์ฒดํฌํ๊ณ ํํฐ์ ์ ์ปจ์๋จธ์ ๋งค์นญ๋๋๋ก ๋ถ๋ฐฐํ๋ ์ญํ ์ ํจ
(์ปจ์๋จธ๊ฐ ์ปจ์๋จธ ๊ทธ๋ฃน์์ ๋น ์ง๋ฉด ๋งค์นญ๋์ง ์์ ํํฐ์ ์ ์ ์ ๋์ํ๋ ์ปจ์๋จธ๋ก ํ ๋นํ์ฌ ๋์์์ด ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋๋๋ก ๋์์ค)
=> ์ด๋ ๊ฒ ํํฐ์ ์ ์ปจ์๋จธ๋ก ์ฌํ ๋น ํ๋ ๊ณผ์ ์ 'rebalance' ๋ผ๊ณ ๋ถ๋ฆ
์ฃผํคํผ๋
๊ทธ๋ ๋ค๋ฉด ์์์๋ ์ฌ์ง์ผ๋ก ๋ดค์ํ ๋ฐ ์นดํ์นด ํด๋ฌ์คํฐ๋ฅผ ์ด์ํ ๋ ์ฃผํคํผ๊ฐ ํ๋ ์ญํ ์ ๋ฌด์์ผ๊น?
์ฃผํคํผ๋ ๋ถ์ฐ ์์คํ ์ ๊ด๋ฆฌํ๊ณ ์กฐ์จํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์๋น์ค์ด๋ค!
=> ์ฃผํคํผ์ ๋ฐ์ดํฐ๋ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์ ์ฅ๋๋ฉฐ, znode๋ ์ด ํธ๋ฆฌ์ ๊ฐ ๋ ธ๋(๋ฐ์ดํฐ ์ ์ฅ ๋จ์)๋ฅผ ์๋ฏธํจ
(์ฃผํคํผ์์ znode๋ ํ์ผ ์์คํ ์ ๋๋ ํฐ๋ฆฌ์ฒ๋ผ ๋์ํ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ๋ค๋ฅธ ํ์ znode๋ฅผ ๊ฐ์ง ์ ์์)
์ฃผํคํผ๋ Kafka ํด๋ฌ์คํฐ์์ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ, ๋ธ๋ก์ปค ์ํ ๋ชจ๋ํฐ๋ง ๋ฑ์ ๋ด๋นํ๋ฉฐ, ์นดํ์นด๋ ์ฃผํคํผ๋ฅผ ํตํด ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํจ
=> ๊ฐ๋จํ๊ฒ ์ฃผํคํผ๋ ์นดํ์นด์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ์ ์ฌ์ฉ๋๋ค๊ณ ์๊ฐํ๋ฉด ๋จ
๐ก ์ฃผํคํผ์์ ๋ค์์ ์นดํ์นด ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๐ก
์ฃผํคํผ์ ์๋ก ๋ค๋ฅธ znode์ ์นดํ์นด ํด๋ฌ์คํฐ๋ค์ ์ค์ ํ๋ฉด ๋จ
=> root znode(์ต์์ znode)๊ฐ ์๋ ํ ๋จ๊ณ ์๋์ znode๋ฅผ ์นดํ์นด ๋ธ๋ก์ปค ์ต์ ์ผ๋ก ์ง์ ํ๋๋ก ํ๋ฉด
๊ฐ๊ธฐ ๋ค๋ฅธ ํ์ znode๋ก ์ค์ ๋ ์๋ก ๋ค๋ฅธ ์นดํ์นด ํด๋ฌ์คํฐ๋ ๊ฐ ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ์ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ ์ ์ ๋์ํจ!
์ฃผํคํผ ์ต์ ์ ์ EX
ํ์ดํ๋ผ์ธ์ฉ ์นดํ์นด ํด๋ฌ์คํฐ : zookeeper.connect=localhost:2181/pipeline
์ค์๊ฐ ์ถ์ฒ์ฉ ์นดํ์นด ํด๋ฌ์คํฐ zookeeper.connect=localhost:2181/recommend
์ด๋ฐ์์ผ๋ก ์นดํ์นด ํด๋ฌ์คํฐ๋ ์ฃผํคํผ์ ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก(znode)์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ์ผ๋ก์จ, ๋ ๋ฆฝ์ ์ธ ํด๋ฌ์คํฐ๋ก ๋์ํ ์ ์์!
'๐ณ Data Engineering > Kafka' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Apache Kafka] ํ ํฝ๊ณผ ํํฐ์ , ๋ ์ฝ๋ (2) | 2024.09.16 |
---|