Open HaeUlNam opened 1 year ago
아마 현재의 rate limiter는 대부분 api gateway로 구현하는 게 정석이 되지 않았을까 싶다. 최근에는 서비스에 api gateway를 두는 게 필수적인 패턴이기 때문이다.
처리율 제한 알고리즘에 대해 처음 알았다.
MULTI
를 사용해 아래 연산을 atomic하게 처리한다.ZREMRANGEBYSCORE
를 사용해 (새 요청의 timestamp - 토큰 발급 interval) 이전 엘리먼트들을 모두 삭제한다.ZRANGE(0, -1)
을 사용해 sorted set의 모든 엘리먼트를 카운팅한다.ZADD
를 사용해 새 요청의 timestamp를 sorted set에 추가한다.EXPIRE
)Redis는 사기인가?
처음 서비스 시작하고 크롤링 이슈가 있었을 때 Rate Limiter에 대해 처음 이야기를 들었던 것이 생각난다. 그냥 API gateway 에서 알아서 처리할 내용이라고 생각했는데, 꽤나 다양하게 고려할 점이 있었다
Template
느낀점
정리
몰랐던 내용
더 알아본 내용
질문