๐Ÿ”™ ์ด์ „ ๋ฌธ์„œ๋กœ

๋ถ„์‚ฐ ์‹œ์Šคํ…œ

A distributed system is one in which the failure of a computer you didnโ€™t even know existed can render your own computer unusable.

Leslie Lamport

๋ ˆ์Šฌ๋ฆฌ ๋žŒํฌํŠธ์˜ ํ˜œ์•ˆ..

๊ฐœ์š”

์˜ค๋Š˜๋‚ ์˜ ์‹œ์Šคํ…œ์€ ๋Œ€๋ถ€๋ถ„ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ด๋‹ค. ์šฐ๋ฆฌ ์ฃผ๋ณ€์—์„œ ๊ฐ€์žฅ ํ”ํ•˜๊ฒŒ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์„ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์œผ๋กœ ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค. ์‰ฌ์šด ์ดํ•ด๋ฅผ ์œ„ํ•ด ๋ง๋ถ™์ด์ž๋ฉด ์—ฌ๊ธฐ์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฌ๋Ÿฌ๋ถ„ ํ•ธ๋“œํฐ์— ์„ค์น˜๋œ ์•ฑ์— ํ•ด๋‹น๋˜๊ณ , ์•ฑ์˜ ์š”์ฒญ์€ ๋ณดํ†ต ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.

๊ธฐ์กด ์‹œ์Šคํ…œ์€ ๋‹จ์ผ ๋…ธ๋“œ์˜ ์ปดํ“จํ„ฐ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ–ˆ์—ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ํ•˜๋”๋ผ๋„ ๋‹จ์ผ ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์„ฑ๋Šฅ, ์šฉ๋Ÿ‰์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ˆ˜์ง ํ™•์žฅ(Vertical Scaling)์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฌด์–ด์˜ ๋ฒ•์น™์ด ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„์— ๋งˆ์ฃผํ•œ ์˜ค๋Š˜๋‚ ์€ ์ด์•ผ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๋ฌด์–ด์˜ ๋ฒ•์น™์˜ ํ•œ๊ณ„๋Š” ๊ณง ๋‹จ์ผ ๋จธ์‹ ์˜ ํ•œ๊ณ„๊ฐ€ ์ƒ๊ฒผ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ˆ˜์ง ํ™•์žฅ์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํ•˜๊ธฐ๋„ ํž˜๋“ค๊ณ , ํ•˜๋ ค๊ณ  ํ•˜๋”๋ผ๋„ ๋น„์šฉ์ด ํฌ๋‹ค.

์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ’์‹ผ ๋…ธ๋“œ๋ฅผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฌถ๊ณ  ์ด๋ฅผ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์ ์ธ ์—”ํ‹ฐํ‹ฐ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๊ณจ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ์ˆ˜ํ‰ ํ™•์žฅ(Scale Horizontally)์— ํ•ด๋‹นํ•œ๋‹ค.

์šฐ๋ฆฌ ํšŒ์‚ฌ๋Š” ๊ทœ๋ชจ๊ฐ€ ์ž‘์•„์„œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๊ฐ™์€๊ฑฐ ์•ˆ์“ฐ๋Š”๋ฐ์š”? ๊ทธ๋Ÿด๋ฆฌ๊ฐ€ ์—†๋‹ค. ์ ์–ด๋„ API ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ถ„๋ฆฌํ•˜๋‹ˆ๊นŒ. ์ด๋ฏธ ์‹œ์Šคํ…œ์ด ์ทจ๊ธ‰ํ•˜๋Š” ๊ด€์‹ฌ์‚ฌ์— ๋”ฐ๋ผ ๋ถ„๋ฆฌ๊ฐ€ ๋˜์–ด ์žˆ๊ณ  ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ํ†ต์‹ ํ•œ๋‹ค. ์„œ๋น„์Šค DB์—์„œ ๋ถ„์„ ์ฟผ๋ฆฌ ๋‚ ๋ฆฌ๋‹ค๊ฐ€ ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๋ฉ‹์ง„ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด read replica๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์„ ํƒ์„ ํ•˜์ง€ ์•Š๋Š”๊ฐ€? ๊ทธ๋ ‡๋‹ค. ์ด๋ฏธ ์šฐ๋ฆฌ๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์ˆจ์‰ฌ๋“ฏ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ์„ธ์ƒ์—์„œ ์‚ด๊ณ  ์žˆ๋‹ค.

distributed-system.png

๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ด๋ก ์€ ์ด๋ฏธ ์ถฉ๋ถ„ํžˆ ์˜ค๋ž˜์ „์— ๋‚˜์˜จ ๊ฒƒ๋“ค์ด๊ณ  ๋น„๊ต์  ์ตœ๊ทผ์— ์™€์„œ์•ผ ์ƒ์šฉํ™”๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋ž˜? ์ด๋ก  ์ถฉ๋ถ„ํ•˜๋„ค. ๊ทธ๋ƒฅ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐํ•˜๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋ƒ? ์•„๋‹ˆ๋‹ค. ๊ณ ๋ คํ•ด์•ผํ•  ๊ฒƒ์ด ๋„ˆ๋ฌด๋‚˜๋„ ๋งŽ์•„์ง„๋‹ค. ๊ทธ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด์ž.

๊ธฐ๋ณธ ์ •์˜

๋ถ„์‚ฐ ์‹œ์Šคํ…œ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐธ์—ฌ์ž๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ฐธ์—ฌ์ž๋Š” ๊ณ ์œ ํ•œ ์ง€์—ญ์  ์ƒํƒœ(Local State)๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค. ์ด๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ  ๋ฉ”์„ธ์ง€๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ๊ณ ํ†ต์€ ์‹œ์ž‘๋œ๋‹ค.