--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Fault-Tolerance|Fault-Tolerance]] last_updated: 2026-05-02 --- # [[Fault-Tolerance|Fault-Tolerance]] ## ๐Ÿ“Œ Brief Summary > "์ค‘๋‹จ ์—†๋Š” ๊ฐ•์ธํ•จ: ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ์— ๊ณ ์žฅ์ด ๋‚˜๋”๋ผ๋„, ์„œ๋น„์Šค ์ „์ฒด๊ฐ€ ๋ฉˆ์ถ”์ง€ ์•Š๊ณ (Graceful Degradation) ์ž๋™์œผ๋กœ ๋ณต๊ตฌ๋˜๊ฑฐ๋‚˜ ์˜ˆ๋น„ ์ž์›์„ ๊ฐ€๋™ํ•˜์—ฌ ์ž„๋ฌด๋ฅผ ์™„์ˆ˜ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์‹ ๋ขฐ์„ฑ ์„ค๊ณ„์˜ ํ•ต์‹ฌ." --- ๋‚ด๊ฒฐํ•จ์„ฑ(Fault Tolerance)์€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๋‚ด ํŠน์ • ์ปดํฌ๋„ŒํŠธ์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ „์ฒด ์‹œ์Šคํ…œ์ด ์ค‘๋‹จ ์—†์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•˜๋Š” ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ํŠน์„ฑ์ž…๋‹ˆ๋‹ค [1, 2]. ๋‹จ์ผ ์žฅ์• ์ (SPOF)์„ ์ œ๊ฑฐํ•˜๊ณ , ๋…๋ฆฝ๋œ ์„œ๋น„์Šค ๊ฐ„์˜ ์žฅ์• ๊ฐ€ ์—ฐ์‡„์ ์œผ๋กœ ํŒŒ๊ธ‰๋˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” '์žฅ์•  ๊ฒฉ๋ฆฌ(Fault isolation)' ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๊ทผ๊ฐ„์„ ์ด๋ฃน๋‹ˆ๋‹ค [1-3]. ์ฃผ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜, P2P, ๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ๋“ฑ์˜ ๋ถ„์‚ฐ ํŒจํ„ด์—์„œ ์‹œ์Šคํ…œ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ํšŒ๋ณต ํƒ„๋ ฅ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ์„ค๊ณ„์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค [4-6]. ## ๐Ÿ“– Core Content ๊ฒฐํ•จ ๋‚ด์„ฑ(Fault-Tolerance)์€ ์‹œ์Šคํ…œ ๋‚ด๋ถ€ ์˜ค๋ฅ˜์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ •์ƒ์ ์ธ ์šด์˜์„ ์ง€์†ํ•˜๋Š” ๋Šฅ๋ ฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 1. **๊ตฌํ˜„ ๊ธฐ๋ฒ•**: * **Redundancy (์ค‘๋ณต์„ฑ)**: ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์žฅ์น˜๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋‘์–ด ํ•˜๋‚˜๊ฐ€ ๊ณ ์žฅ ๋‚˜๋ฉด ๊ต์ฒด (๋ฐ์ดํ„ฐ ๋ณต์ œ ๋“ฑ). * **Checkpointing**: ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ €์žฅํ•˜์—ฌ ์—๋Ÿฌ ์‹œ ๋งˆ์ง€๋ง‰ ์ •์ƒ ์ง€์ ๋ถ€ํ„ฐ ์žฌ์‹œ์ž‘. * **Replication**: ๋ถ„์‚ฐ ๋…ธ๋“œ๋“ค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด๋‘๊ธฐ. (Distributed-Systems์™€ ์—ฐ๊ฒฐ) 2. **์™œ ์ค‘์š”ํ•œ๊ฐ€?**: * ๋‹จ 1์ดˆ์˜ ์ค‘๋‹จ์ด ๋ง‰๋Œ€ํ•œ ์†์‹ค์„ ์ž…ํžˆ๋Š” ๊ธˆ์œต, ์›์ž๋ ฅ, ์šฐ์ฃผ ํ•ญ๊ณต, ๊ทธ๋ฆฌ๊ณ  ๊ฑฐ๋Œ€ ์„œ๋น„์Šค ์ธํ”„๋ผ์˜ ์ƒ๋ช…์ค„๊ณผ ๊ฐ™์Œ. --- * **์žฅ์•  ๊ฒฉ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ํšŒ๋ณต๋ ฅ ๋ณด์žฅ** ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐ ๋งˆ์ดํฌ๋กœ์ปค๋„ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋‚ด๊ฒฐํ•จ์„ฑ์€ ํ•œ ์„œ๋น„์Šค๋‚˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๋”๋ผ๋„ ์ฝ”์–ด ์‹œ์Šคํ…œ์ด๋‚˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค๊ฐ€ ์ž‘๋™์„ ๋ฉˆ์ถ”์ง€ ์•Š๋Š” ํŠน์„ฑ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค [2, 3, 7, 8]. ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ ๋ฐ ์‹คํ–‰๋˜๋„๋ก ๊ตฌ์„ฑํ•จ์œผ๋กœ์จ ํ•œ ์˜์—ญ์˜ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ์˜์—ญ์œผ๋กœ ํผ์ง€๋Š” ๊ฒƒ์„ ๋ฌผ๋ฆฌ์ /๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ง‰์•„์ค๋‹ˆ๋‹ค. * **์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค(Circuit Breaker) ํŒจํ„ด์„ ํ†ตํ•œ ๋ฐฉ์–ด** ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๋‚ด์—์„œ ํ•œ ์ปดํฌ๋„ŒํŠธ์˜ ์‹คํŒจ๊ฐ€ ์—ฐ์‡„ ์žฅ์• (Cascading failures)๋กœ ์ด์–ด์ง€๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค ํŒจํ„ด์ด ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ „๊ธฐ ์ฐจ๋‹จ๊ธฐ์—์„œ ์˜๊ฐ์„ ์–ป์€ ๊ธฐ์ˆ ๋กœ, ์‹คํŒจํ•˜๋Š” ์„œ๋น„์Šค๋กœ ํ–ฅํ•˜๋Š” ํ†ต์‹ ์„ ์ผ์‹œ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜์—ฌ ์ „์ฒด ์‹œ์Šคํ…œ์„ ๋ณดํ˜ธํ•˜๊ณ  ๊ฐœ๋ณ„ ์„œ๋น„์Šค ์žฅ์• ๊ฐ€ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค [1, 9, 10]. * **์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด๋ณ„ ๋‚ด๊ฒฐํ•จ์„ฑ ๊ตฌํ˜„ ๋ฐฉ์‹** * **์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ (Event-Driven Architecture):** ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถค์œผ๋กœ์จ ํ•˜๋‚˜์˜ ์ฒ˜๋ฆฌ ์„œ๋น„์Šค๊ฐ€ ๋‹ค์šด๋˜๋”๋ผ๋„ ์ด๋ฒคํŠธ๊ฐ€ ํ์— ์Œ“์—ฌ์žˆ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์–ด ๋†’์€ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [4, 11]. * **๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ (Space-based Architecture):** ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ ์žฅ์น˜(PU) ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ์ค‘์•™ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๋…ธ๋“œ์˜ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์ œ๋˜์–ด ์žˆ์–ด ์‹œ์Šคํ…œ ์ถฉ๋Œ์„ ๋ง‰์•„์ค๋‹ˆ๋‹ค [6, 12]. * **๋งˆ์Šคํ„ฐ-์Šฌ๋ ˆ์ด๋ธŒ ์•„ํ‚คํ…์ฒ˜ (Master-Slave Architecture):** ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ์Šฌ๋ ˆ์ด๋ธŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ž๋™ ๋ณต์ œ๋˜๋ฏ€๋กœ, ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์‹คํŒจํ•˜๋”๋ผ๋„ ์•ˆ์ „ํ•œ ๋ฐฑ์—… ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜์—ฌ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ํ–ฅ์ƒํ•ฉ๋‹ˆ๋‹ค [13, 14]. * **P2P (Peer-to-Peer) ์•„ํ‚คํ…์ฒ˜:** ์ค‘์•™ ํ†ต์ œ ์„œ๋ฒ„ ์—†์ด ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์ž์›์„ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ผ ์žฅ์• ์ (SPOF)์ด ์—†์œผ๋ฉฐ, ์ผ๋ถ€ ํ”ผ์–ด ์—ฐ๊ฒฐ์ด ๋Š๊ฒจ๋„ ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๋Š” ํšŒ๋ณต ํƒ„๋ ฅ์„ฑ์„ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค [15-17]. * **์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜ (Serverless):** ๊ธฐ๋ณธ ์ธํ”„๋ผ ๊ด€๋ฆฌ๋ฅผ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž์—๊ฒŒ ์œ„์ž„ํ•จ์œผ๋กœ์จ, ํด๋ผ์šฐ๋“œ ์—ฐ๊ฒฐ์„ฑ์— ํž˜์ž…์–ด ๋‚ด๊ฒฐํ•จ์„ฑ์ด ๋‚ด์žฅ๋œ(built-in) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [18-20]. ## โš–๏ธ Trade-offs & Caveats - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ**: ๊ณผ๊ฑฐ์—๋Š” ๊ณ ์žฅ์ด ์•ˆ ๋‚˜๋„๋ก '๋ถ€ํ’ˆ์„ ๋น„์‹ธ๊ณ  ํŠผํŠผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ •์ฑ…' ์œ„์ฃผ์˜€์œผ๋‚˜, ํ˜„๋Œ€ ์ •์ฑ…์€ '๋ถ€ํ’ˆ์€ ๋ฐ˜๋“œ์‹œ ๊ณ ์žฅ ๋‚œ๋‹ค๋Š” ์ „์ œํ•˜์— ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ์ •์ฑ…(Software-defined resilience)'์œผ๋กœ ์ „ํ™˜๋จ(RL Update). - **์ •์ฑ… ๋ณ€ํ™”(RL Update)**: AI ๋ชจ๋ธ ์ถ”๋ก  ์ •์ฑ…์—์„œ๋„ ํŠน์ • ๋…ธ๋“œ๋‚˜ ์—ฐ์‚ฐ ์žฅ์น˜์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด๋ฅผ ์šฐํšŒํ•˜์—ฌ ์ •๋‹ต์„ ๋„์ถœํ•˜๋Š” '๊ฐ•๊ฑดํ•œ ์‹ ๊ฒฝ๋ง ์ถ”๋ก  ์ •์ฑ…' ์—ฐ๊ตฌ๊ฐ€ ํ™œ๋ฐœํ•จ. (Chaos Engineering๊ณผ ์—ฐ๊ฒฐ) --- * **๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๋ฌธ์ œ:** ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์ด๋‚˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ ๊ฐ™์€ ํƒˆ์ค‘์•™ํ™”๋œ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ, ์ฆ‰๊ฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ(Strong consistency) ๋Œ€์‹  ์ง€์—ฐ์„ ํ—ˆ์šฉํ•˜๋Š” ์ตœ์ข… ์ผ๊ด€์„ฑ(Eventual consistency) ๋ชจ๋ธ์„ ์ˆ˜์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ๊ฑธ์นœ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”์™€ ํŠธ๋žœ์žญ์…˜์„ ๋งค์šฐ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค [21-24]. * **์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ(Error Handling)์™€ ๋””๋ฒ„๊น…์˜ ๋ณต์žก์„ฑ ์ฆ๊ฐ€:** ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ „์šฉ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๊ธฐ(Error-handler processor)๋ฅผ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์ฒ˜๋ฆฌ ์‹คํŒจ ํ›„ ์žฌ์ „์†ก๋œ ์ด๋ฒคํŠธ๊ฐ€ ์ˆœ์„œ์— ์–ด๊ธ‹๋‚˜๊ฒŒ ์ฒ˜๋ฆฌ๋  ์œ„ํ—˜์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [23, 25]. * **๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ:** ์‹œ์Šคํ…œ ์ค‘๋‹จ ์‹œ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋˜์ง€ ์•Š๋„๋ก ์ „์†ก ์ค‘์ธ ์ด๋ฒคํŠธ๋ฅผ ์œ ์ง€ํ•˜๊ณ , ๋‹ค์Œ ์ปดํฌ๋„ŒํŠธ์˜ ์ˆ˜์‹  ํ™•์ธ์ด ์™„๋ฃŒ๋œ ํ›„์—๋งŒ ํ์—์„œ ์ œ๊ฑฐํ•˜๋Š” 'ํด๋ผ์ด์–ธํŠธ ํ™•์ธ ๋ชจ๋“œ' ๋“ฑ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‹œ์Šคํ…œ ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ๋ ˆ์ดํ„ด์‹œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [23, 26]. * **์šด์˜ ๋ณต์žก์„ฑ:** ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์œ„ํ•ด ๊ฐ ์„œ๋น„์Šค๋ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฒฉ๋ฆฌํ•˜๊ณ  ์ˆ˜๋งŽ์€ ๋…๋ฆฝ ๋ชจ๋“ˆ์„ ๋ถ„์‚ฐ์‹œ์ผœ ๋ฐฐํฌํ•˜๊ฒŒ ๋˜๋ฉด, ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค ์„ค์ •(์‹คํŒจ ์ž„๊ณ„๊ฐ’, ํƒ€์ž„์•„์›ƒ ๋“ฑ)์˜ ๋ฏธ์„ธ ์กฐ์ •์ด ํ•„์š”ํ•˜๊ณ  ์ธํ”„๋ผ ๊ด€๋ฆฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋‚œ์ด๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ƒ์Šนํ•ฉ๋‹ˆ๋‹ค [27-30]. ## ๐Ÿ”— Knowledge Connections - [[Distributed-Systems|Distributed-Systems]], [[Scalability|Scalability]], [[Technical-Architecture|Technical-Architecture]], [[Quality Gates|Quality Gates]], Monitoring - **Modern Tech/Tools**: Raid, Kubernetes (Self-healing), Netflix Chaos Monkey, Kafka replication. --- --- ### Related Concepts #### [๊ด€๊ณ„ ์œ ํ˜• A (์•„ํ‚คํ…์ฒ˜/๊ธฐ๋ฐ˜ ๊ธฐ์ˆ )] - [[Microservices Architecture Pattern]] - ์—ฐ๊ฒฐ ์ด์œ : ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์‹คํ˜„ํ•˜๋Š” ๋Œ€ํ‘œ์  ํ˜„๋Œ€ ์•„ํ‚คํ…์ฒ˜๋กœ, ๊ฐ ์„œ๋น„์Šค์˜ ๊ฒฉ๋ฆฌ๋ฅผ ํ†ตํ•ด ์žฅ์•  ์ „ํŒŒ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค [1, 2]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„๋ฆฌ ๋ฐ ์„œ๋น„์Šค ๋…๋ฆฝ ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ์žฅ์•  ๊ตญ์†Œํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ์›๋ฆฌ์™€ ๊ด€๋ฆฌ์  ๋ณต์žก์„ฑ์˜ ์›์ธ. - [[Event-Driven Architecture Pattern]] - ์—ฐ๊ฒฐ ์ด์œ : ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ์™€ ์ด๋ฒคํŠธ ํ๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถฐ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‹คํŒจํ•ด๋„ ์ „์ฒด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด๋„ˆ์ง€์ง€ ์•Š๋„๋ก ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [4, 11]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ธŒ๋กœ์ปค ํ† ํด๋กœ์ง€ ๋‚ด์—์„œ ์ด๋ฒคํŠธ ํ์™€ ์ŠคํŠธ๋ฆผ์ด ์žฅ์•  ๋Œ€์‘์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜ [31, 32]. - [[Space-based Architecture Pattern]] - ์—ฐ๊ฒฐ ์ด์œ : ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ํŠธ๋ž˜ํ”ฝ ์ƒํ™ฉ์—์„œ ์ค‘์•™ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฐ์ œํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ณต์ œ๋ฅผ ํ†ตํ•ด ๋…ธ๋“œ ์‹คํŒจ ์‹œ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ง€์›ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค [6, 12]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์žฅ์น˜(PU) ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ผ ๋…ธ๋“œ ์‹คํŒจ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฒฌ๋ŽŒ๋‚ด๋Š”์ง€์— ๊ด€ํ•œ ๋ถ„์‚ฐ ์บ์‹ฑ ์›๋ฆฌ. #### [๊ด€๊ณ„ ์œ ํ˜• B (๊ตฌํ˜„/ํ™œ์šฉ ๋„๊ตฌ)] - [[Circuit Breaker Architecture Pattern]] - ์—ฐ๊ฒฐ ์ด์œ : ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘์ ์œผ๋กœ ์ฑ„ํƒ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด์ž ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ, ๋ฌธ์ œ์˜ ์„œ๋น„์Šค๋กœ ํ–ฅํ•˜๋Š” ์š”์ฒญ์„ ์ฐจ๋‹จํ•˜์—ฌ ์—ฐ์‡„ ์‹คํŒจ๋ฅผ ์˜ˆ๋ฐฉํ•ฉ๋‹ˆ๋‹ค [1, 9, 10]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋˜๋Š” ์™ธ๋ถ€ API ์˜์กด์„ฑ์ด ๋†’์€ ์‹œ์Šคํ…œ์—์„œ SLA(์„œ๋น„์Šค ์ˆ˜์ค€ ํ˜‘์•ฝ)๋ฅผ ์œ ์ง€ํ•˜๋Š” ์„ค๊ณ„ ๋ฐฉ๋ฒ• [1, 10]. - [[Master-Slave Architecture Pattern]] - ์—ฐ๊ฒฐ ์ด์œ : ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ณด๊ด€(Replication)์„ ํ†ตํ•ด ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์žฅ์•  ์‹œ ๋ณต๊ตฌ์™€ ๋ฐ์ดํ„ฐ ์ง€์†์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ณ„์ธต์˜ ํ•ต์‹ฌ ๋‚ด๊ฒฐํ•จ์„ฑ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค [13, 14]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ์žฅ์•  ๋ฐฑ์—… ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•  ๋•Œ์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๊ตฌ์กฐ์™€ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ „๋žต [14]. ### Deeper Research Questions - ๋ถ„์‚ฐ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ข… ์ผ๊ด€์„ฑ(Eventual Consistency)์„ ์ฑ„ํƒํ•  ๋•Œ, ๊ธˆ์œต ๊ฑฐ๋ž˜์™€ ๊ฐ™์ด ๊ฐ•ํ•œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์ด ์š”๊ตฌ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ์˜ ์ถฉ๋Œ์€ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? - ๋น„๋™๊ธฐ์‹ ๋ฉ”์‹œ์ง€ ํ์— ๊ธฐ๋ฐ˜ํ•œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜(EDA)์—์„œ ์ „์šฉ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ๋„์ž…ํ•  ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” '์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ˆœ์„œ ์—ญ์ „ ํ˜„์ƒ'์„ ๋ฐฉ์ง€ํ•˜๊ฑฐ๋‚˜ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ธ๊ฐ€? - ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค(Circuit Breaker) ํŒจํ„ด์„ ์ ์šฉํ•  ๋•Œ, ์ ์ ˆํ•œ ์ฐจ๋‹จ ์ž„๊ณ„๊ฐ’(Threshold)๊ณผ ์žฌ์‹œ๋„(Retry) ์ฃผ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์‚ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ์ˆ ์€ ๋ฌด์—‡์ด ์žˆ๋Š”๊ฐ€? - ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ์—์„œ ๋‹จ์ผ ์žฅ์• ์ (SPOF)์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ค‘ ์„œ๋ฒ„ ์ด์ค‘ํ™”๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋น„์šฉ๊ณผ, P2P๋‚˜ ๊ณต๊ฐ„ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ ์–ป๋Š” ์œ ๊ธฐ์  ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ํ™•์žฅ์„ฑ์˜ ํˆฌ์ž ๋Œ€๋น„ ํšจ์œจ ์ฐจ์ด๋Š” ์–ด๋– ํ•œ๊ฐ€? - ์„œ๋ฒ„๋ฆฌ์Šค ํ™˜๊ฒฝ์€ ๋†’์€ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ๊ธฐ๋ณธ ์ œ๊ณตํ•˜์ง€๋งŒ ๋ฒค๋” ์ข…์†์„ฑ๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋ฅผ ๋ชจ๋“ˆ์‹ ๋ชจ๋†€๋ฆฌ์Šค๋‚˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์™€ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ์•ˆ์€ ๋ฌด์—‡์ธ๊ฐ€? ### Practical Application Contexts - **Implementation:** ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ๊ฒฐ์ œ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ์‹œ ์™ธ๋ถ€ ์€ํ–‰ API ์žฅ์• ๋กœ ์ธํ•œ ์—ฐ์‡„ ์žฅ์• ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด Hystrix ๋“ฑ์˜ ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค ์ฝ”๋“œ๋ฅผ ์ ์šฉํ•˜์—ฌ ํƒ€์ž„์•„์›ƒ ๋ฐœ์ƒ ์‹œ ๋Œ€์ฒด ์‘๋‹ต(Fallback)์„ ์ œ๊ณตํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [1, 27]. - **System Design:** ์‚ฌ์šฉ๋Ÿ‰์ด ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•œ e-์ปค๋จธ์Šค ํ”Œ๋žซํผ ์„ค๊ณ„ ์‹œ, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ ๋ธŒ๋กœ์ปค ๊ธฐ๋ฐ˜ ์ด๋ฒคํŠธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ฃผ๋ฌธ ์„œ๋น„์Šค๊ฐ€ ๋‹ค์šด๋˜๋”๋ผ๋„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์„œ๋น„์Šค๊ฐ€ ์ด๋ฒคํŠธ๋ฅผ ํ์— ๋ณด๊ด€ํ•ด ์žฅ์• ๋ฅผ ๊ฒฌ๋ŽŒ๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค [4]. - **Operation / Maintenance:** ๋ ˆ๊ฑฐ์‹œ ๋ชจ๋†€๋ฆฌ์‹ ์‹œ์Šคํ…œ์˜ ๋‹จ์ผ ์žฅ์• ์ ์„ ํ•ด์†Œํ•˜๊ณ  ์‹œ์Šคํ…œ ์œ ์ง€๋ณด์ˆ˜ ์ค‘์—๋„ ๋ฌด์ค‘๋‹จ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๋ฆฌ์Šค๋‚˜ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์˜ ์ž๊ฐ€ ๋ณต๊ตฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉํ•˜๋„๋ก ์ธํ”„๋ผ๋ฅผ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค [2, 19, 33]. - **Learning Path:** ์‹œ์Šคํ…œ ์„ค๊ณ„(System Design)์˜ ๊ธฐ์ดˆ๋กœ ๋ ˆ์ด์–ด๋“œ(Layered) ๊ตฌ์กฐ๋ฅผ ๋จผ์ € ํ•™์Šตํ•œ ํ›„ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์—์„œ์˜ ๋„คํŠธ์›Œํฌ ๋ถˆ์•ˆ์ •์„ฑ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ '์žฅ์•  ๊ฒฉ๋ฆฌ ์›๋ฆฌ'์™€ '์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค ํŒจํ„ด', ๊ทธ๋ฆฌ๊ณ  '์ตœ์ข… ์ผ๊ด€์„ฑ(Eventual Consistency) ๋ชจ๋ธ' ์ˆœ์œผ๋กœ ๊นŠ์ด ์žˆ๊ฒŒ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. - **My Project Relevance:** ํ˜„์žฌ ๋‹ค๋ฃจ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์‚ฌ์šฉ์ž ํญ์ฆ์ด๋‚˜ ์„œ๋“œํŒŒํ‹ฐ ์„œ๋น„์Šค ์žฅ์•  ์ƒํ™ฉ์—์„œ๋„ ์ƒ์กดํ•ด์•ผ ํ•˜๋Š” ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌ(Mission-critical) ์‹œ์Šคํ…œ์ด๋ผ๋ฉด, ๋‹จ์ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Monolith) ๋Œ€์‹  ๋งˆ์Šคํ„ฐ-์Šฌ๋ ˆ์ด๋ธŒ ๋˜๋Š” ๋…๋ฆฝ๋œ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด๋ฅผ ๊ฐ€์ง€๋Š” ๋ถ„์‚ฐํ˜• ๋‚ด๊ฒฐํ•จ์„ฑ ์•„ํ‚คํ…์ฒ˜ ๋„์ž…์„ ์ „๋žต์ ์œผ๋กœ ๊ฒ€ํ† ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10, 13]. ### Adjacent Topics - [[High Availability (๊ณ ๊ฐ€์šฉ์„ฑ)]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ๋‚ด๊ฒฐํ•จ์„ฑ๊ณผ ๋ชฉ์ ์„ ๊ฐ™์ด ํ•˜๋Š” ์†์„ฑ์œผ๋กœ, ์‹œ์Šคํ…œ์ด ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ๊ฐ€๋™ ์‹œ๊ฐ„์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ด์ค‘ํ™”(Redundancy) ๊ธฐ์ˆ  ๋ฐ ํŽ˜์ผ์˜ค๋ฒ„(Failover) ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ „๋žต์„ ์‹ฌ๋„ ์žˆ๊ฒŒ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค. - [[Eventual Consistency (์ตœ์ข… ์ผ๊ด€์„ฑ)]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ๋‚ด๊ฒฐํ•จ์„ฑ๊ณผ ์‹œ์Šคํ…œ ๊ฐ€์šฉ์„ฑ์„ ์–ป๊ธฐ ์œ„ํ•ด ๊ฐ ์„œ๋น„์Šค๊ฐ€ ๊ฐœ๋ณ„ DB๋ฅผ ๊ฐ€์งˆ ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์ง€์—ฐ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. CAP ์ •๋ฆฌ์— ๊ธฐ๋ฐ˜ํ•œ ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ์™€ Saga ํŒจํ„ด ๋“ฑ์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. - [[Cascading Failures (์—ฐ์‡„ ์žฅ์• )]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ๋‚ด๊ฒฐํ•จ์„ฑ ์„ค๊ณ„๊ฐ€ ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ๋‹จ์ผ ์„œ๋น„์Šค์˜ ํƒ€์ž„์•„์›ƒ์ด๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์‹œ์Šคํ…œ ์ „๋ฐ˜์˜ ๋ถ•๊ดด๋กœ ํ™•์‚ฐ๋˜๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ํ™˜๊ฒฝ์˜ ์ŠคํŠธ๋ ˆ์Šค ํฌ์ธํŠธ์™€ ์•ˆ์ •์„ฑ ๊ฐ•ํ™” ๋ฐฉ์•ˆ์„ ์—ฐ๊ตฌํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-05-02*