여러 서버가 데이터를 공유하고 요청을 처리할 때 생기는 일관성·중복 처리·장애 전파 문제를 살펴보는 자료입니다. 패턴의 목적과 성립 조건, 운영 비용을 함께 확인할 수 있습니다.
일관성과 데이터 변경
-
네트워크 분할이 가능한 비동기 모델에서 일관성과 가용성을 동시에 보장할 수 없음을 다룬 CAP 논문입니다.
-
Eventually Consistent — Revisited — Werner Vogels
최종적 일관성과 클라이언트가 관찰하는 여러 일관성 보장을 설명합니다.
-
읽기와 쓰기 모델을 분리하는 구조와 도입 시 증가하는 복잡성을 설명합니다.
-
Event Sourcing Pattern — Microsoft
변경 이벤트를 저장해 상태를 재구성하는 방식과 이벤트 버전·조회 모델 관리의 고려 사항을 설명합니다.
-
Transactional outbox pattern — AWS
데이터 변경과 이벤트 발행 사이의 이중 쓰기 문제를 다루며 중복 메시지 처리의 필요성도 설명합니다.
캐시와 메시징
-
Caching challenges and strategies — Amazon Builders’ Library
캐시 도입의 이점과 만료·장애·동시 재조회에 따른 원본 서비스 부하를 다룹니다.
-
Diagnosing latency issues — Redis
명령 실행과 이벤트 루프, 느린 명령과 시스템 환경이 Redis 지연에 미치는 영향을 설명합니다.
-
잠금의 만료·소유자 확인과 Redlock의 안전성·진행 조건 및 관련 논의를 제공합니다.
-
비동기 복제, 동기화와 장애 조치 과정의 데이터 손실 가능성을 설명합니다.
-
작업 큐·발행과 구독·라우팅·RPC를 여러 언어로 실습할 수 있는 공식 예제입니다.
장애 전파와 확장
-
Autoscaling Guidance — Microsoft
수직·수평 확장과 부하 지표·확장 규칙을 비교하고 자동 확장 시 고려할 상태·용량 문제를 설명합니다.
-
Provision redundant connectivity — AWS Well-Architected
단일 장애 지점이 되는 네트워크 연결을 여러 경로로 분산하고 독립적인 장애에 대비하는 방법을 설명합니다.
-
Control and limit retry calls — AWS Well-Architected
재시도 횟수 제한, 지수 백오프와 지터로 장애 시 요청 폭증을 줄이는 방법을 설명합니다.
-
Retry with backoff pattern — AWS
일시적 실패를 재시도할 조건과 멱등성·대기 시간·서비스 부하의 관계를 설명합니다.
배포와 운영 자동화
-
복제본 수 변경과 롤링 업데이트·롤백을 설정하는 방법 및 가용성 관련 조건을 설명합니다.
-
Pod의 상태와 종료 유예 시간, 종료 신호·정리 절차를 통해 Graceful Shutdown을 살펴볼 수 있습니다.
-
Liveness, Readiness, and Startup Probes — Kubernetes
재시작 판단·트래픽 수신 준비·초기 기동 확인이라는 헬스체크의 서로 다른 목적을 설명합니다.
-
인프라를 코드로 선언하고 실행 계획과 상태를 관리하는 IaC의 작업 흐름을 설명합니다.
-
서버리스의 운영 책임 분담과 이벤트 처리·자동 확장에 사용하는 서비스들을 소개합니다.