[Algorithm] TokenBucket vs LeakyBucket
·
algorithm
개요업무 중 외부 API를 연동하는 작업을 진행하면서 Rate Limit(초당 요청 제한)을 제어해야하는 상황을 마주했습니다. 작업 흐름은 다음과 같았습니다.1. 외부 API로 목록 조회 요청을 보낸다.2. 목록에 포함된 각 요소에 대해 개별 상세 조회 요청을 보낸다. 이러한 경우 목록 조회 결과가 외부 API 서버에서 제한하는 n건을 초과하는 경우, "429, Too Many Requests" 에러가 발생할 가능성이 존재했습니다. 따라서 요청을 버리지 않으면서도, 초당 n건 이하로 요청을 안정적으로 처리하는 제어 방식이 필요했고, 이 과정에서 Token Bucket과 Leaky Bucket 알고리즘을 비교하게 되었습니다. Token Bucket AlgorithmToken Bucket 알고리즘은 토큰을..