Network

[gRPC] Deadlines

noahkim_ 2026. 4. 17. 22:44

1. Deadline

  • 클라이언트가 "이 시각 이후에는 더 이상 응답을 기다리지 않겠다" 라고 정하는 시간
  • ✅클라이언트는 이 시각이 넘으면 호출을 포기하고 실패로 간주함

 

필요성

  • 분산 시스템에서는 서버가 느려지거나 네트워크가 밀림으로 인한 지연이 발생할 수 있음
  • ⚠️ 만약 deadline이 없다면, 클라이언트가 계속 대기하게 되어 지연이 전체 시스템에 전파될 수 있음

 

2. Client

DEADLINE_EXCEEDED 상태

  • deadline 초과 시, 클라이언트가 호출에 대해 받는 상태

 

3. Server

CANCELLED 상태

  • 서버에서 작업 중 deadline 시간을 초과할 경우, 계속 하던 작업을 자동 취소함
  • ✅ 단, 작업중인 것은 롤백하는 코드를 작성해줘야 함

 

4. Propagation

  • gRPC 요청이 체이닝 형식일 경우, 뒤에 받는 요청의 deadline은 앞 요청의 deadline으로부터 남은 시간으로 전파됨

 

 

출처

'Network' 카테고리의 다른 글

[gRPC] Status Codes  (0) 2026.04.17
[gRPC] 1. What is gRPC?  (0) 2025.08.26
[IBM Technology] What are DNS Zones And Records?  (0) 2025.03.29
[IBM Technology] What is DNS?  (0) 2025.03.29