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 |