In My Opinion

개인적인 생각

주요 테크회사 들 에서는 RateLimiter 를 정교하게 구현해서 사용하고 있을 것으로 추측됩니다. 기본으로 제공되는 lua 스크립트의 경우 나쁜 것은 아닌데 회사의 비즈니스 요구사항에 맞는 요청 유입량 제어 알고리즘이 필요할 것입니다.

기본 옵션이 적용된 채로 RateLimiter 를 배포하는 것은 초기 개발 중에는 가능하겠지만, 그 이후부터는 세세한 컨트롤을 위해서는 커스터마이징이 필요해집니다. 예를 들면 RateLimiter 알고리즘도 5개가 넘는 다양한 알고리즘이 존재합니다. 이런 알고리즘 들을 기본으로 설정된 스크립트를 그냥 사용하기에는 아쉽습니다. 토큰 버킷 알고리즘이 적용된 lua 스크립트를 보더라도 Redis 2.6.2 이후로 Deprecated 된 명령어를 그대로 사용하고 있습니다.

각 비즈니스마다 수용해야 하는 트래픽의 특성도 여러가지 입니다. 이런 이유로 가급적이면 Rate Limiter 를 커스터마이징해서 사용하는 것이 필요해보입니다. RedisRateLimiter 에 내장된 request_rate_limiter.lua 를 그대로 사용하기보다는 꼭 필요한 Rate Limiter 알고리즘을 lua 스크립트로 개발해서 사용하는 것을 추천드립니다.