ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Distributed Systems: Where Physics, Murphy's Law, and Your Career Collide ๐Ÿ’ฅ
Dev.toDev.to
Infrastructure

CAP ์ •๋ฆฌ์™€ ํšŒ๋ณต๋ ฅ ํŒจํ„ด์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๊ณ ๊ฐ€์šฉ์„ฑ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ

Distributed Systems: Where Physics, Murphy's Law, and Your Career Collide ๐Ÿ’ฅ

S, Sanjay2026๋…„ 4์›” 9์ผ13๋ถ„intermediate

Context

๋„คํŠธ์›Œํฌ ํŒŒํ‹ฐ์…˜ ๋ฐœ์ƒ ์‹œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ ์‚ฌ์ด์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ๋ฐœ์ƒ. ์ž˜๋ชป๋œ ์ผ๊ด€์„ฑ ๋ชจ๋ธ ์„ ํƒ์œผ๋กœ ์ธํ•œ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜์™€ ๊ธˆ์ „์  ์†์‹ค ์œ„ํ—˜ ์กด์žฌ. ์„œ๋น„์Šค ๊ฐ„ ์˜์กด์„ฑ์œผ๋กœ ์ธํ•œ ์žฅ์•  ์ „ํŒŒ ๋ฐ ์‹œ์Šคํ…œ ์ „์ฒด ๋ถ•๊ดด ๊ฐ€๋Šฅ์„ฑ ์ƒ์กด.

Technical Solution

  • ๋ฐ์ดํ„ฐ ์„ฑ๊ฒฉ์— ๋”ฐ๋ฅธ ์ผ๊ด€์„ฑ ์ „๋žต ๋ถ„๋ฆฌ ์„ค๊ณ„. ๊ฒฐ์ œ ๋ฐ ์žฌ๊ณ  ๊ด€๋ฆฌ์—๋Š” Strong Consistency(CP)๋ฅผ ์ ์šฉํ•˜๊ณ  ์ฝ˜ํ…์ธ  ๋ฐ ํ”„๋กœํ•„ ์ •๋ณด์—๋Š” Eventual Consistency(AP)๋ฅผ ์ฑ„ํƒ
  • ์„œ๋น„์Šค ์žฅ์•  ์ „ํŒŒ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ Circuit Breaker ๋„์ž…. CLOSED, OPEN, HALF-OPEN ์ƒํƒœ ์ „ํ™˜์„ ํ†ตํ•ด ์‹คํŒจํ•œ ์š”์ฒญ์„ ์ฆ‰์‹œ ์ฐจ๋‹จํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ๊ณ ๊ฐˆ ๋ฐฉ์ง€
  • Thundering Herd ํ˜„์ƒ ํ•ด๊ฒฐ์„ ์œ„ํ•œ Exponential Backoff ๋ฐ Jitter ์ ์šฉ. ์žฌ์‹œ๋„ ๊ฐ„๊ฒฉ์„ ์ง€์ˆ˜์ ์œผ๋กœ ๋Š˜๋ฆฌ๊ณ  ๋ฌด์ž‘์œ„ ์‹œ๊ฐ„์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ์œ ๋„
  • ์žฌ์‹œ๋„ ๋Œ€์ƒ ๋ฒ”์œ„๋ฅผ HTTP 429, 502, 503, 504 ๋ฐ ๋„คํŠธ์›Œํฌ ํƒ€์ž„์•„์›ƒ์œผ๋กœ ์ œํ•œํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ถ€ํ•˜ ์ œ๊ฑฐ
  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ƒ์„ฑ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด POST ์š”์ฒญ ์‹œ Idempotency Key๋ฅผ ํ™œ์šฉํ•œ ๋ฉฑ๋“ฑ์„ฑ ๋ณด์žฅ ๊ตฌ์กฐ ์„ค๊ณ„
  • ์‹œ์Šคํ…œ ์ผ๋ถ€ ์žฅ์• ๊ฐ€ ์ „์ฒด๋กœ ํ™•์‚ฐ๋˜์ง€ ์•Š๋„๋ก ๊ฒฉ๋ฆฌ ๊ตฌ์—ญ์„ ์„ค์ •ํ•˜๋Š” Bulkhead ํŒจํ„ด ์ ์šฉ

Impact

  • ๋ณต์ œ ์ง€์—ฐ(Replication Lag) 3์ดˆ ๋ฐœ์ƒ ์‹œ EU ์ง€์—ญ ๊ฐ€๊ฒฉ ๋ถˆ์ผ์น˜๋กœ ์ธํ•œ 200K ๋‹ฌ๋Ÿฌ ํ™˜๋ถˆ ๋น„์šฉ ๋ฐœ์ƒ

Key Takeaway

๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์„ค๊ณ„ ์‹œ ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์— ๋งž๋Š” ์ผ๊ด€์„ฑ ์ˆ˜์ค€์„ ์ •์˜ํ•˜๊ณ , ์‹คํŒจ๋ฅผ ์ „์ œ๋กœ ํ•œ ํšŒ๋ณต๋ ฅ ํŒจํ„ด์„ ๊ณ„์ธต์ ์œผ๋กœ ์ ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ํ™•๋ณดํ•ด์•ผ ํ•จ.


๊ธˆ์ „ ๋ฐ ์žฌ๊ณ  ๊ด€๋ จ ๋กœ์ง์€ ๋ฐ˜๋“œ์‹œ CP ์„ค๊ณ„๋ฅผ ์ ์šฉํ•˜๊ณ , ๋ชจ๋“  ์™ธ๋ถ€ API ํ˜ธ์ถœ์— Jitter๊ฐ€ ํฌํ•จ๋œ ์žฌ์‹œ๋„ ์ „๋žต๊ณผ Circuit Breaker๋ฅผ ์„ค์ •ํ•  ๊ฒƒ

์›๋ฌธ ์ฝ๊ธฐ