백엔드 커리큘럼 심화: 종단간 Deadline Budget과 Cancellation Propagation 운영 플레이북
클라이언트가 이미 포기한 요청을 백엔드가 계속 처리하는 낭비를 줄이기 위해, 홉별 deadline 배분과 취소 전파를 숫자 기준으로 설계하는 방법을 정리합니다.
클라이언트가 이미 포기한 요청을 백엔드가 계속 처리하는 낭비를 줄이기 위해, 홉별 deadline 배분과 취소 전파를 숫자 기준으로 설계하는 방법을 정리합니다.
프록시 레벨 쿼리 타임아웃을 구현한다. time.AfterFunc으로 타이머를 설정하고, 만료 시 CancelRequest 프로토콜을 전송하여 PostgreSQL이 자연스럽게 쿼리를 취소하도록 한다.
유휴 클라이언트를 자동으로 연결 해제하는 Idle Client Timeout을 구현한다. SetReadDeadline으로 타이머 없이 구현하고, 트랜잭션 중에는 비적용하여 안전성을 확보한다.
타임아웃/재시도/백오프를 잘못 설정했을 때 발생하는 장애 전파를 막는 실무 기준과 Spring 예제
WebClient로 외부 API 호출 시 타임아웃/재시도/서킷 브레이커/백프레셔 설정 가이드