우버, 재시도 폭주 막는 에러 소유권 체계 공개

Key Point
마이크로서비스 아키텍처에서 재시도 폭주는 전체 시스템을 마비시키는 주요 장애 원인인데, 우버가 공개한 에러 소유권 체계는 이를 근본적으로 해결하는 새로운 접근법이다.
핵심 요약
- 재시도 폭주(retry storm)는 한 서비스 장애가 의존성 사슬을 따라 증폭되면서 전체 인프라를 마비시키는 현상으로, 깊이 d인 노드의 요청량은 R^d × Ƞ(R은 재시도 횟수)에 따라 지수적으로 증가한다.
- 재시도 예산(retry budget) 개념을 도입하면 노드당 요청량을 (1+B)^d × Ƞ으로 억제할 수 있지만, 여전히 상류 서비스가 불필요하게 재시도한다.
- 우버는 에러 원인을 구분하는 에러 소유권 체계를 제안했다: 서비스가 의존 서비스의 실패로 에러를 반환하면 증상이고, 자신의 문제로 에러를 반환하면 원인이며 소유자다.