분산 시스템에는 피할 수 없는 진실이 하나 있다. 네트워크는 반드시 끊기고, 노드는 반드시 죽으며, 메시지는 반드시 중복되거나 사라진다. Reliability(안정성)는 이 진실을 부정하는 게 아니라 받아들이고 설계하는 기둥이고, Performance Efficiency(성능 효율성)는 같은 자원으로 더 빠르고 효율적으로 처리하는 기둥이다. 두 기둥은 자주 충돌한다 — 강한 일관성을 위해 모든 리전에 동기 복제하면 안정성은 오르지만 지연(성능)이 나빠진다. 이 trade-off를 어디서 끊을지 판단하는 게 Pro 아키텍트의 일이다.
SAP-C02에서 이 두 기둥은 "RTO 5분·RPO 1분", "노드 간 초저지연 HPC", "소비자보다 빠른 메시지 유입", "글로벌 캐싱" 같은 키워드로 출제된다. 오늘은 CAP 정리와 PACELC, 멱등성·재시도의 수학, 캐싱 계층의 원리, HPC 네트워킹의 물리까지 분산 시스템 이론에 뿌리를 두고 분해한다.
Reliability의 5대 설계 원칙은 "장애는 일어난다"는 한 가정에서 파생된다: 자동 복구, 복구 절차 테스트, 수평 확장, 용량 추측 금지(모니터링 기반), 변경 자동화. 핵심은 세 번째와 두 번째다. 수평 확장(scale-out)은 단일 장애점을 제거하고, 복구 절차 테스트는 "백업이 있다"와 "복구가 된다"가 다른 명제임을 인정하는 것이다.