WEBBOOK CHAPTER

웹서비스 트러블슈팅, 증거로 고치는 법: 39장. Retry Storm과 Cascading Failure를 끊는다

39장. Retry Storm과 Cascading Failure를 끊는다

timeout이 늘면 client·gateway·service·queue가 같은 요청을 겹쳐 보내며 dependency를 더 압박할 수 있다. request deadline과 각 hop timeout, retry 횟수·backoff·jitter, queue redelivery, autoscaling을 한 budget으로 그린다. POST는 idempotency 없이 자동 retry하지 않는다.

실습은 DB pool latency를 올리고 gateway와 client retry를 켜 amplification을 측정한다. 먼저 traffic admission, retry 감소, circuit와 bulkhead로 부하를 제한한다. pod 증설은 total DB connection과 cold start를 계산한 뒤 한다. 회복 조건은 latency뿐 아니라 duplicate effect와 queue age가 정상인 것이다.