처리율제한
title: 2026-02-15 author: 강병호 (이름) date: 2026-02-15 (날짜) category: TIL/강병호/2026/02 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —
처리율 제한 규칙
실제 Lyft라는 회사에서는 이러한 처리율 제한을 오픈 소스를 통해 처리한다.
domain : messaging
descriptors:
- key: message_type
Value : marketing
rate_limit:
unit: day
requests_per_unit: 5
위 코드는 시스템이 처리할 마케팅 메시지의 최대치를 하루 5개로 제한한 예제 코드이다. 이렇게 생성된 규칙들은 보통 configuration file의 형태로 디스크에 저장된다.
위와 같은 방식으로 제한할 서비스, limit등을 지정하여 처리한다.
처리율 한도 초과 트래픽 처리
주로 한도 제한에 걸리면 API에서 429응답을 통해 너무 많은 요청이 왔음을 클라이언트에게 보낸다. 다만, 해당 API가 다시 보내지는 것보다 추후 처리되는 방향으로 구현을 한다면 큐에 보관하여 요청들을 보관한 후 나중에 처리할 수 있다.
이러한 한도 초과를 클라이언트가 감지하기 위해서는 주로 HTTP 응답 헤더를 이용한다.
이 책에서는 HTTP 헤더를 다음과 같이 하여 클라이언트가 본인의 요청에 대한 서버에서의 상세 응답을 확인한다.
- X-Ratelimit-Remaining : 윈도우 내에 남은 처리 가능 요청의 수
- X-Ratelimit-Limit : 매 윈도우마다 클라이언트가 전송할 수 있는 요청으 수
- X-Ratelimit-Retry-After: 한도 제한에 걸리지 않으려면 몇 초 뒤에 요청을 다시 보내야 하는지