KAFKA ์๋น์ค ํ์ฉ ์คํฐ๋ ์ฌ๋ก ๋ฐ์ ํ๊ธฐ
ใํ์๋ ์คํ๋ผ์ธ์์ ์งํํ๋ ๋ฐ์ ์ด๋ ์ฝํผ๋ฐ์ค ๊ฐ๋ ๊ฒ์ ์ข์ํ๋ค. ๋ฐํํ๋ ๋ด์ฉ์ ์ ๋ถ๋ค ์ดํดํด์ ๋ฃ๊ณ ์จ๋ค๋ ๊ฑด ๊ฑฐ์ง๋ง์ด๊ฒ ์ง๋ง ๊ฐํน ๋ค์๋ ๋ด์ฉ์ ํ ๋ด์ ์ ์ฉํด ๋ณธ๋ค๊ฑฐ๋ ๋ชฐ๋๋ ๋ด์ฉ์ ๋ํด ์๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ํนํ, ์ง๋ฌธ์ ๊ผญ ํ๋ ํธ์ธ๋ฐ ์ง๋ฌธ์ ํ๋ ค๊ณ ํ๋ฉด ์ข ๋ ์ง์คํด์ ๋ฃ๊ฒ ๋๊ฑฐ๋ ์ง๋ฌธํ ์ธ์ ์ ๋ด์ฉ์ ๊ฝค ์ค๋ซ๋์ ๊ธฐ์ต์ ๋จ๊ฒ ๋๋ ๊ฐ๋ฐ์ ํ์ฌ์ ์ฐธ์ํ๋ฉด ๊ผญ ์ง๋ฌธ์ ํ์๋ ๊ฒ ํ์ ์์ ๊ณผ์ ์ฝ์ ์ค์ ํ๋์ด๊ธฐ๋ ํ๋ค.
ใํ๋์ ์ฝ๋ก๋๋ก ๋ชจ๋ ๊ฐ๋ฐ์ ํ์ฌ๊ฐ ์จ๋ผ์ธ์ผ๋ก ์งํํ๋ ๋ฑ ์คํ๋ผ์ธ ํ์ฌ๋ ๋์ ์ป๊ณ ์ฐพ๊ธฐ๋ ํ๋์ ๋ณ ๋ฐ๊ธฐ์๋ค. ์คํ๋ผ์ธ ํ์ฌ์ ์ฐธ์ฌํ๋ฉด ๋๋ฆ์ ๊ฐ๋ฐ๋ ฅ(?)์ ์ป์ ์ ์์๋๋ฐ ์คํ๋ผ์ธ ํ์ฌ ์์ฒด๋ฅผ ํ์ง ์์ ๊ดํ ๊ธฐ์ด์ด ๋น ์ง๋ ์ ๋ช ๋ ์ด์์ง ์์๋ ์ถ๋ค. ๊ทธ๋ฌ๋ค ํ์ด์ค๋ถ KAFKA ํ๊ตญ ์ฌ์ฉ์ ๋ชจ์์์ ๊ณต์ง๊ฐ ์ฌ๋ผ์๊ณ ์ธ์ ๋ค์ ๋ณด์ํ๋ ํ๋๋ ์์๋ฃ์ง ๋ชปํ (?) ์์ฒญ๋๊ฒ ๊ณ ์ฐจ์์ ๋ด์ฉ์ด ์๋ ๊ทธ๋ญ์ ๋ญ ์ดํดํ ๋งํ ๋ด์ฉ์ผ๋ก ์ค๋น๋์ด ์์๊ณ , ๋ฌด์๋ณด๋ค ํ์ฌ์ ๊ฐ๊น์์ ์ค๋ ๋ ๋ง์์ผ๋ก ์ ์ฒญ์ ํ์๋ค. ์ค๋์ ์๋ ํ๋ฒ ๋ฐ์ ์ ์ฐธ์ํ ์ ์ด ์์๋๋ฐ ๋๋ฆ ์งํ๋ ๋งค๋๋ฌ์ ๊ณ ์ข์๋ ๊ธฐ์ต๋ค๋ฟ์ด๋ผ ํ ์น์ ๋ง์ค์ ์์ด ์ ์ฒญํ๊ฒ ๋์๋ค.

ใ์ค์ ๊ทผ๋ฌด๋ง ํ๊ณ ํ๊ต ํ
ํฌ๋
ธ๋ฒจ๋ฆฌ์ ์๋ ์ ๋ช
ํ ๋ค๋ฆฌ์ธ ์ด์ง์ ๋ค๋ฆฌ
๋ฅผ ๊ฑด๋ SKT/SKP ํ๊ต ์ฌ์ฅ 1์ธต์ผ๋ก ๊ฑธ์ด๊ฐ๋ค. ํ๊ต์ ์ฌ ์ผ์ด ์ ์๋ ๊ฒ ์ฌ ๋๋ง๋ค ๋๋ผ๋ ๊ฑด ์ ๋ง IT ํ์ฌ๊ฐ ๋ง๋ค๋ ๊ฒ. ๋ญ๊ฐ ์ด์ง์ ํ๋ ค๊ณ ๋ง์์ ๋จน์ง ์์๋ ๊ดํ ๋ง์์ด ๋ฐ์ด์ค ๊ฑฐ๋ฆฌ๋ ๊ฑด ๊ธฐ๋ถํ ์ผ๊น ์ถ๋ค.
๋ฐ์ ์ ๋ถ์๊ธฐ
ใ์ด๋ฐ ํ์ฌ์ ๊ฐ๋ฉด ๋งจ ์์ ์๋ฆฌ๋ฅผ ์ก๊ณค ํด์ ์ฒ์์ ๋ชฐ๋๋๋ฐ ํ์ฌ ์งํ ์ค๊ฐ์ ๋ณด๋ ์ฌํ์๋ถ ์ด์ผ๊ธฐ๋ก๋ ์ฝ 90์ฌ ๋ช ์ ๋๊ฐ ์๋ค๊ณ ํ๋ค. ์คํ๋ผ์ธ ํ์ฌ๋ผ ๊ทธ๋ฐ ๊ฑด์ง, ํ๊ต ์ง์ฅ์ธ๋ถ๋ค์ ์ ๊ทผ์ฑ์ด ์ข์์์ธ์ง, ์๋ ์ ๋ง KAFKA์ ์ธ๊ธฐ(?)๊ฐ ์ข์์ ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์์๋ณด๋ค ๊ฝค ๋ง์ด ์์ ์กฐ๊ธ ๋๋ฌ๋ค. ์ ๊ตฌ์ ์ปคํผ์ ์ฟ ํค๊ฐ ์ ๊ณต๋์๊ณ ๊ฐ๋ฐ์ ๋ ธํธ๋ถ์ ๋์ง๋์ง ๋ถ์ผ ์ ์๋ ๊ฐ๋ฐ์ ์คํฐ์ปค๋ ๋ฐ์ ์ ์์๋ค.
ใ์ด๋ฒ์๋ ๋ฐ๋ณด์ (Devocen) ์ด๋ผ๋ ๊ณณ์์ ํ์์ ๋ฐ์ ์งํํ๋ค๊ณ ํ๋ค. ์ฒ์์ ๋ฐ๋ณด์ ์ด ๋ญ ํ๋ ๊ณณ์ธ์ง์ ๋ํ ๊ฐ๋ตํ ์๊ฐ์ ๋์ค์ ์ถ์ฒจ์ ํ๊ธฐ ์ํด ์ฑ์ ์ค์นํ๋ผ๋ ๊ท์ฌ์ด ํ๋ณด๋ ์์๋ค. SK ๋ด/์ธ๋ถ ์ฐ์ ์ธ์ฌ๊ฐ ๋ชจ์ฌ ์ ๋ฌธ ๊ธฐ์ ์ง์/์ ๋ณด๋ฅผ ๋ฑ๋ก/์ถ์ ํ๊ณ ๊ณต์ ๊ต๋ฅ๋ฅผ ํ๋ฉฐ ์ ํ ๋ฐ ํ์ฐ์ ์ง์ค์ ํ๋ค๊ณ ํ๋ค. ํ ํฌ ์ธ๋ฏธ๋๊ฐ ์ 1ํ ์๋ค๊ณ ํ๋ ์ข ์ข ๋ค์ด์ ๋ด์ผ ๊ฒ ๋ค๋ ์๊ฐ์ ํด๋ณธ๋ค.
ใ์นดํ์นด ๋ชจ์์ ์ด๋์๋ ๊ณ ์น๋ฒ ๋๋ ์ค์ จ๋ค. ์์ ๋ฐ์ ์์๋ ๋ต๊ธด ํ์ง๋ง ์ต๊ทผ์ ์นดํ์นด ๊ด๋ จ ์ฑ ๋ ์๋กญ๊ฒ ๋ด์๊ณ ๊ทธ๋ฃน๋ ์ด์ ์ค์ด์ ๋ถ์ด๋ค. ๋๋ ๊ณผ์ฐ ์ ๋ฌํ ์ด์ ์ด ์์๋? ์์ ์ ์๋? ๋ผ๋ ์๊ฐ์ ์ ์ ํด๋ณธ๋ค.
๋ฐํ ์์ฝ
ใํ๋๋ถํฐ ์ด๊น์ง ๋ฐ์์ฐ๊ธฐ ์์ค์ผ๋ก ์ ์ง ๋ชปํ์ง๋ง ๊ทธ๋๋ ๋ฉ๋ชจ์ฅ์ ๋จ์์๋ ๊ธฐ๋ก๋ค์ ์ ๋ฆฌ ๋ฐ ์์ฝํด ๋ณธ๋ค. ์ค๋๋ง์ ์คํ๋ผ์ธ ํ์ฌ๋ผ ๋ค๋ ์์ธ์ง ์๋ชป๋ ๊ธฐ๋ก์ด ์์ ์ ์์์ ์๋ฆฐ๋ค ^^;
Kafka MirrorMaker๋ก ์นด์ค์ค ์์ง๋์ด๋ง ๋ง๋ณด๊ธฐ / ํฉํํฌ ๋
- Kafka MirrorMaker? - ์นดํ์นด ํด๋ฌ์คํฐ๋ฅผ ๋์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ mirroring ํ๋ ๊ธฐ๋ฅ (ํ ํฝ ๋ฐ์ดํฐ ๋๊ธฐํ)
- ํ์ฉ๋ฐฉ์ : fan-out, aggregation, active-active, acitve-passive
- ์นด์ค์ค ์์ง๋์ด๋ง : ์ด์ํ๊ฒฝ์์๋ ๊ฐ์์ค๋ฌ์ด ์ฅ์ ๋ฅผ ๊ฒฌ๋ ์ ์๋ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ์์คํ ์ ์คํํ๋ ๋ถ์ผ, ์ฅ์ ๋ฅผ ๋ฏธ๋ฆฌ ๊ฒฝํ
- Chaos Monkey
- ๋ทํ๋ฆญ์ค ๊ฐ๋ฐํ์ ์ด์ ์์น์ผ๋ก๋ถํฐ ์์ํด ํ์ฌ๋ ๊ฐ์ฅ ๋ํ์ ์ธ ์นด์ค์ค ํ ์คํ ๋๊ตฌ
- ๋ง์น ๋ฌด๊ธฐ๋ฅผ ๋ ์์ญ์ด๋ฅผ ๋ฐ์ดํฐ ์ผํฐ์ ํ์ด ๋์๊ฒ ๊ฐ๋ค๋ ์๋ฏธ์์ ์ถ๋ฐ
- Pumba
- ์ปจํ ์ด๋ ํ๊ฒฝ์์ ์ ๊ณต๋๋ ์นด์ค์ค ์์ง๋์ด๋ง ๋๊ตฌ
- ์ํ ๋ผ์ด์จํน์ ๋ฑ์ฅํ๋ ๋ฉง๋ผ์ง์ธ ํ๋ฐ์ ๋ฉ์ฒญํ๊ณ ์ฐ๋งํ๋ค๋ ํน์ง์์ ์๊ฐ์ ๋ฐ์
- ๋น๊ต์ ๋จ์ํ ํ ์คํ ์ ํ ๋ ์ ์ฉํ ๋๊ตฌ
- ์นด์ค์ค ์์ง๋์ด๋ง ํ์ดํ๋ผ์ธ
- ์์ ํ ์ ์ : ๊ธฐ์ ์ ์ธ ์ด์๋ ์๋ ๋น์ฆ๋์ค ๊ด์ ์ ์งํ๋ฅผ ์์ ๋ ์ํ์ ์งํ๋ก ์ค์
- ์ด๋ฒคํธ ์ ์ : ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ์ด๋ฒคํธ ์ ์
- ์คํ : ์นด์ค์ค ์์ง๋์ด๋ง ์ํ , ์ค์ ๋ก ์ด๋ฒคํธ๋ฅผ ๋ฐ์์์ผ๋ณด๊ณ ๊ฐ์ค์ ์ํ
- ๋ถ์
ใ์ด๋ฒ์๋ ์ด๊น์์ด ์ง๋ฌธ์ ํ๋ค. ์๋ฌด๋๋ ์ค ์๋น์ค์ ์ ๊ทผ์ ํด์ผ ํ ํ ๋ฐ ๋ถ๋ด์ ์์์ง, ์ฑ๋ฅ์ ์ํฅ์ ์์์ง๊ฐ ๊ฐ์ฅ ๊ถ๊ธํ๋ค. ๋ต๋ณ์ผ๋ก๋ pub/sub ์ด ํ๋ ๋ ๋ฐ์ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ์์ ๊ฒ์ด๋ผ๊ณ ๋ต๋ณ์ ๋ฐ์๋ค. ๊ณผ์ฐ ๊ทธ๋ด๊น? ๋ผ๋ ์๊ฐ์ ์ ๊น ํด๋ณด๊ณ ํ ๋ด์์ ์นด์ค์ค ์์ง๋์ด๋ง์ ๋์ ํ๊ฒ ๋๋ฉด ๊ฐ๋ฐ ํ๊ฒฝ๋ถํฐ ํ ์คํธ ํด๋ด์ผ์ง ํ๋ ์๊ฐ์ ํด๋ดค๋ค.