--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Distributed-Systems|Distributed-Systems]] last_updated: 2026-05-02 --- # [[Distributed-Systems|Distributed-Systems]] ## ๐Ÿ“Œ Brief Summary > "ํ•˜๋‚˜์ฒ˜๋Ÿผ ์›€์ง์ด๋Š” ์—ฌ๋Ÿฟ: ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์ž‘์—…์„ ๋‚˜๋ˆ„์–ด ์ฒ˜๋ฆฌํ•˜๊ณ  ์ผ๋ถ€๊ฐ€ ๊ณ ์žฅ ๋‚˜๋„ ๋ฉˆ์ถ”์ง€ ์•Š๋Š” ํ˜„๋Œ€ ์ธํ„ฐ๋„ท ์ œ๊ตญ์˜ ์—”์ง„์ด์ž ๋ผˆ๋Œ€." ## ๐Ÿ“– Core Content ๋ถ„์‚ฐ ์‹œ์Šคํ…œ(Distributed-Systems)์€ ๋…๋ฆฝ๋œ ๋‹ค์ˆ˜์˜ ์ปดํ“จํ„ฐ(๋…ธ๋“œ)๊ฐ€ ์„œ๋กœ ํ˜‘๋ ฅํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ณต๋™ ๋ชฉํ‘œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด/์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค. 1. **3๋Œ€ ํ•ต์‹ฌ ๋‚œ์ œ (CAP Theorem)**: * **Consistency (์ผ๊ด€์„ฑ)**: ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ํ•ญ์ƒ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•จ. * **Availability (๊ฐ€์šฉ์„ฑ)**: ์ผ๋ถ€ ๋…ธ๋“œ ์žฅ์•  ์‹œ์—๋„ ์„œ๋น„์Šค๋Š” ๊ณ„์† ๋˜์–ด์•ผ ํ•จ. * **Partition Tolerance (๋ถ„ํ•  ๋‚ด์„ฑ)**: ๋…ธ๋“œ ๊ฐ„ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ๋Š๊ฒจ๋„ ์ž‘๋™ํ•ด์•ผ ํ•จ. (์…‹ ์ค‘ ๋‘˜๋งŒ ์™„๋ฒฝํžˆ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด๋ก ) 2. **์™œ ์ค‘์š”ํ•œ๊ฐ€?**: * ๋‹จ์ผ ์„œ๋ฒ„๋กœ๋Š” ๊ฐ๋‹นํ•  ์ˆ˜ ์—†๋Š” ๋น…๋ฐ์ดํ„ฐ์™€ ํญ๋ฐœ์  ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ๋‹นํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ž„. (Scalability์˜ ๊ทผ๊ฐ„) ## โš–๏ธ Trade-offs & Caveats - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ**: ๊ณผ๊ฑฐ์—๋Š” ๊ด€๋ฆฌ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด '๊ฑฐ๋Œ€ ๋‹จ์ผ ์„œ๋ฒ„ ์ •์ฑ…(Monolithic)'์„ ์„ ํ˜ธํ–ˆ์œผ๋‚˜, ํ˜„๋Œ€ ์ •์ฑ…์€ ์œ ์—ฐ์„ฑ๊ณผ ์ƒ์กด๋ ฅ์„ ์œ„ํ•ด ์ž‘๊ฒŒ ์ชผ๊ฐœ์–ด ๋ถ„์‚ฐํ•˜๋Š” 'ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์ •์ฑ…(Microservices)'์œผ๋กœ ์ „ํ™˜๋จ(RL Update). - **์ •์ฑ… ๋ณ€ํ™”(RL Update)**: AI ํ•™์Šต ์ •์ฑ…์—์„œ, ์ˆ˜๋งŒ ๊ฐœ์˜ GPU๊ฐ€ ํ•˜๋‚˜๋กœ ๋ฌถ์—ฌ ๊ฑฐ๋Œ€ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š” '๋ถ„์‚ฐ ํ›ˆ๋ จ ์ •์ฑ…'์ด ๊ตญ๊ฐ€์  ๊ฒฝ์Ÿ๋ ฅ์˜ ์ง€ํ‘œ๊ฐ€ ๋˜๊ณ  ์žˆ์Œ. ## ๐Ÿ”— Knowledge Connections - [[Scalability|Scalability]], [[Blockchain|Blockchain]], Load Balancing, [[Technical-Architecture|Technical-Architecture]], [[Internet of Things (IoT)|Internet of Things (IoT)]] - **Modern Tech/Tools**: Redis, Kafka, Cassandra, Kubernetes, gRPC. --- --- - [[Microservices_Architecture]]: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์‚ฌ์ƒ์„ ํ˜„๋Œ€์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๋Œ€ํ‘œ์  ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ. - [[Event_Driven_Architecture]]: ๋ถ„์‚ฐ ๋…ธ๋“œ ๊ฐ„์˜ ๋А์Šจํ•œ ๊ฒฐํ•ฉ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋น„๋™๊ธฐ ํ†ต์‹  ๋ฐฉ์‹. - [[Cloud_Native_Patterns]]: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ ๊ธฐ์ˆ  ๋ฐ ํŒจํ„ด. ## 1. ๊ฐœ์š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ์„ ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹Œ, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ž์œจ์ ์ธ ์—ฌ๋Ÿฌ ๋…ธ๋“œ(์„œ๋น„์Šค)๋กœ ๋ถ„์‚ฐํ•˜์—ฌ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋Š” ์‹œ์Šคํ…œ์˜ ๋ฌดํ•œํ•œ ํ™•์žฅ์„ฑ๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋„คํŠธ์›Œํฌ ์ง€์—ฐ, ๋ถ€๋ถ„์  ์žฅ์• , ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€ ๋“ฑ ๋‹จ์ผ ๋…ธ๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋˜ ๊ณ ๋„์˜ ๊ธฐ์ˆ ์  ๋ณต์žก์„ฑ์„ ์ˆ˜๋ฐ˜ํ•œ๋‹ค. ## 2. ๋ถ„์‚ฐ ํ™˜๊ฒฝ์˜ ํ•ต์‹ฌ ๊ณผ์ œ์™€ ํ•ด๊ฒฐ ํŒจํ„ด - **์žฅ์•  ๋Œ€์‘ ๋ฐ ๋ณต์›๋ ฅ (Resilience)**: ๋„คํŠธ์›Œํฌ ์žฅ์• ๋‚˜ ํŠน์ • ๋…ธ๋“œ์˜ ๋‹ค์šด์€ '๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ผ'์ด ์•„๋‹ˆ๋ผ '๋ฐ˜๋“œ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์ผ'๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. - **ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ (Circuit Breaker)**: ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ์„œ๋น„์Šค๋กœ์˜ ์š”์ฒญ์„ ์ผ์‹œ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜์—ฌ ์—ฐ์‡„ ์žฅ์•  ์ „ํŒŒ ๋ฐฉ์ง€. - **์žฌ์‹œ๋„ ๋ฐ ํƒ€์ž„์•„์›ƒ (Retries & Timeouts)**: ์ผ์‹œ์  ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜์— ๋Œ€์‘ํ•˜๊ณ , ๋ฌดํ•œ ๋Œ€๊ธฐ๋กœ ์ธํ•œ ์ž์› ๊ณ ๊ฐˆ ๋ฐฉ์ง€. - **๋ฒŒํฌํ—ค๋“œ (Bulkhead)**: ์„œ๋น„์Šค ๋‚ด๋ถ€ ์ž์›(์Šค๋ ˆ๋“œ ํ’€ ๋“ฑ)์„ ๊ฒฉ๋ฆฌํ•˜์—ฌ ํŠน์ • ๊ธฐ๋Šฅ์˜ ๋ถ€ํ•˜๊ฐ€ ์ „์ฒด ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ์ฐจ๋‹จ. - **๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ (Consistency)**: ๋ถ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ๋ฌผ๋ฆฌ์  ์ •ํ•ฉ์„ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์–ด๋ ค์šฐ๋ฏ€๋กœ, ๊ฒฐ๊ณผ์  ์ผ๊ด€์„ฑ(Eventual Consistency)๊ณผ ์‚ฌ๊ฐ€(Saga) ํŒจํ„ด ๋“ฑ์„ ํ™œ์šฉํ•œ ๋ณด์ƒ ํŠธ๋žœ์žญ์…˜ ์„ค๊ณ„ ์ ์šฉ. - **๋ถ„์‚ฐ ํŠธ๋ ˆ์ด์‹ฑ (Distributed Tracing)**: ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋ฅผ ๊ด€ํ†ตํ•˜๋Š” ํ•˜๋‚˜์˜ ์š”์ฒญ ํ๋ฆ„์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ด€๊ด€๊ณ„ ID(Correlation ID)๋ฅผ ํ™œ์šฉํ•œ ์ „ ๊ตฌ๊ฐ„ ๊ฐ€์‹œ์„ฑ ํ™•๋ณด. ## 3. ์—”์ง€๋‹ˆ์–ด๋ง ๊ฐ€์น˜ - **์ˆ˜ํ‰์  ํ™•์žฅ์„ฑ (Scalability)**: ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ์‹œ ํŠน์ • ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ์„ ํ˜•์ ์œผ๋กœ ์ฆ๋Œ€ ๊ฐ€๋Šฅ. - **์ง€๋ฆฌ์  ๊ฐ€์šฉ์„ฑ**: ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ์ง€์—ญ(Region)์— ๋ถ„์‚ฐ ๋ฐฐ์น˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๊ณ  ์ง€์—ญ์  ์žฌ๋‚œ ์ƒํ™ฉ์—์„œ๋„ ์„œ๋น„์Šค ์œ ์ง€. - **๊ธฐ์ˆ ์  ์œ ์—ฐ์„ฑ**: ๊ฐ ๋…ธ๋“œ๋ณ„๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์— ์ตœ์ ํ™”๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ† ๋ฆฌ์ง€ ์„ ํƒ ๊ฐ€๋Šฅ. ## 4. ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ๋ฐ ์ฃผ์˜์‚ฌํ•ญ - **๊ด€์ธก์˜ ์–ด๋ ค์›€**: ์‹œ์Šคํ…œ์˜ ๋…ผ๋ฆฌ๊ฐ€ ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ์™€ ํ”„๋กœ์„ธ์Šค์— ํŒŒํŽธํ™”๋˜์–ด ์žˆ์–ด, ์ „์ฒด์ ์ธ ์‹คํ–‰ ํ๋ฆ„์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ์ธ์ง€์  ๋ถ€ํ•˜์™€ ๋ชจ๋‹ˆํ„ฐ๋ง ์ธํ”„๋ผ ๊ตฌ์ถ• ๋น„์šฉ์ด ๋งค์šฐ ๋†’์Œ. - **ํ…Œ์ŠคํŒ… ๋ณต์žก๋„**: ๋‹จ์ผ ๋…ธ๋“œ์—์„œ์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•˜๋ฉฐ, ์„œ๋น„์Šค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ๊ณผ ๋„คํŠธ์›Œํฌ ์‹คํŒจ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ํฌํ•จํ•œ ์ •๊ตํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฐ ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง(Chaos Engineering) ์š”๊ตฌ๋จ. - **๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ**: ๋‚ด๋ถ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ๋น„ํ•ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ํ†ต์‹ ์€ ์ˆ˜๋ฐฑ~์ˆ˜์ฒœ ๋ฐฐ์˜ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋ฐœ์ƒ์‹œํ‚ค๋ฏ€๋กœ, ๋นˆ๋ฒˆํ•œ ํ†ต์‹ ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์กฐ๋ฆฝ์„ฑ(Cohesion) ์žˆ๋Š” ๊ฒฝ๊ณ„ ์„ค๊ณ„ ํ•„์ˆ˜. ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ**: ๊ฒ€์ฆ ์™„๋ฃŒ (Verified) - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„**: A - **๊ฒ€ํ†  ์ด์œ **: ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ๊ณผ ๊ฐ€์šฉ์„ฑ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์‚ฐ ์ปดํ“จํŒ…์˜ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋„คํŠธ์›Œํฌ ๋ถˆํ™•์‹ค์„ฑ์— ๋Œ€์‘ํ•˜๋Š” ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ ์„ค๊ณ„ ํ‘œ์ค€ ์ •๋ฆฝ.