# 분산 시스템과 운영

[원문](https://www.linkymeadow.com/w/913d6a/)

마지막 수정: 2026-10-05 21:40 (KST)

여러 서버가 데이터를 공유하고 요청을 처리할 때 생기는 일관성·중복 처리·장애 전파 문제를 살펴보는 자료입니다. 패턴의 목적과 성립 조건, 운영 비용을 함께 확인할 수 있습니다.

## 일관성과 데이터 변경

- [Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services — Gilbert·Lynch](https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf)

  네트워크 분할이 가능한 비동기 모델에서 일관성과 가용성을 동시에 보장할 수 없음을 다룬 CAP 논문입니다.
- [Eventually Consistent — Revisited — Werner Vogels](https://www.allthingsdistributed.com/2008/12/eventually_consistent.html)

  최종적 일관성과 클라이언트가 관찰하는 여러 일관성 보장을 설명합니다.
- [CQRS Pattern — Microsoft](https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs)

  읽기와 쓰기 모델을 분리하는 구조와 도입 시 증가하는 복잡성을 설명합니다.
- [Event Sourcing Pattern — Microsoft](https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing)

  변경 이벤트를 저장해 상태를 재구성하는 방식과 이벤트 버전·조회 모델 관리의 고려 사항을 설명합니다.
- [Transactional outbox pattern — AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/transactional-outbox.html)

  데이터 변경과 이벤트 발행 사이의 이중 쓰기 문제를 다루며 중복 메시지 처리의 필요성도 설명합니다.

## 캐시와 메시징

- [Caching challenges and strategies — Amazon Builders’ Library](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/)

  캐시 도입의 이점과 만료·장애·동시 재조회에 따른 원본 서비스 부하를 다룹니다.
- [Diagnosing latency issues — Redis](https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/latency/)

  명령 실행과 이벤트 루프, 느린 명령과 시스템 환경이 Redis 지연에 미치는 영향을 설명합니다.
- [Distributed Locks with Redis](https://redis.io/docs/latest/develop/clients/patterns/distributed-locks/)

  잠금의 만료·소유자 확인과 Redlock의 안전성·진행 조건 및 관련 논의를 제공합니다.
- [Redis replication](https://redis.io/docs/latest/operate/oss_and_stack/management/replication/)

  비동기 복제, 동기화와 장애 조치 과정의 데이터 손실 가능성을 설명합니다.
- [RabbitMQ Tutorials](https://www.rabbitmq.com/tutorials)

  작업 큐·발행과 구독·라우팅·RPC를 여러 언어로 실습할 수 있는 공식 예제입니다.

## 장애 전파와 확장

- [Autoscaling Guidance — Microsoft](https://learn.microsoft.com/en-us/azure/architecture/best-practices/auto-scaling)

  수직·수평 확장과 부하 지표·확장 규칙을 비교하고 자동 확장 시 고려할 상태·용량 문제를 설명합니다.
- [Provision redundant connectivity — AWS Well-Architected](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_planning_network_topology_ha_conn_private_networks.html)

  단일 장애 지점이 되는 네트워크 연결을 여러 경로로 분산하고 독립적인 장애에 대비하는 방법을 설명합니다.
- [Control and limit retry calls — AWS Well-Architected](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_mitigate_interaction_failure_limit_retries.html)

  재시도 횟수 제한, 지수 백오프와 지터로 장애 시 요청 폭증을 줄이는 방법을 설명합니다.
- [Retry with backoff pattern — AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/retry-backoff.html)

  일시적 실패를 재시도할 조건과 멱등성·대기 시간·서비스 부하의 관계를 설명합니다.

## 배포와 운영 자동화

- [Deployments — Kubernetes](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)

  복제본 수 변경과 롤링 업데이트·롤백을 설정하는 방법 및 가용성 관련 조건을 설명합니다.
- [Pod Lifecycle — Kubernetes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/)

  Pod의 상태와 종료 유예 시간, 종료 신호·정리 절차를 통해 Graceful Shutdown을 살펴볼 수 있습니다.
- [Liveness, Readiness, and Startup Probes — Kubernetes](https://kubernetes.io/docs/concepts/workloads/pods/probes/)

  재시작 판단·트래픽 수신 준비·초기 기동 확인이라는 헬스체크의 서로 다른 목적을 설명합니다.
- [What is Terraform — HashiCorp](https://developer.hashicorp.com/terraform/intro)

  인프라를 코드로 선언하고 실행 계획과 상태를 관리하는 IaC의 작업 흐름을 설명합니다.
- [Serverless Computing — AWS](https://aws.amazon.com/serverless/)

  서버리스의 운영 책임 분담과 이벤트 처리·자동 확장에 사용하는 서비스들을 소개합니다.

## 관련 문서

- [데이터베이스 원리와 JPA](https://www.linkymeadow.com/w/32a71f/)
- [네트워크와 HTTP의 원리](https://www.linkymeadow.com/w/8a37d1/)
- [Git·코드 협업·CI/CD](https://www.linkymeadow.com/w/a35bcc/)
- [클라우드·서버·웹 배포](https://www.linkymeadow.com/w/3c956d/)
- [운영 관측과 모니터링](https://www.linkymeadow.com/w/2cb803/)
- [백엔드 개발 학습 자료](https://www.linkymeadow.com/w/e48b27/)
