RateLimiter

Fixed Window, Sliding Window Log, Sliding Window Counter 방식의 처리율 제한 알고리즘을 구현해보았습니다.이번에는 토큰 버킷(Token Bucket) 방식을 실제 구현 코드와 함께 정리해보겠습니다.Token Bucket Rate Limiter는 뭘까?토큰 버킷은 일정한 속도로 토큰을 버킷에 충전하고, 각 요청마다 토큰을 소모하는 방식입니다.버킷이 가득 찰 때까지 토큰이 축적되므로 일시적인 과도한 트래픽을 허용하면서, 장기적인 평균 처리율을 보장하는 특징이 있습니다.17:00 [5개] -> 3개 요청 -> [2개] 남음17:01 [2개] -> 1개 충전 -> [3개] -> 2개 요청 -> [1개]17:02 [1개] -> 1개 충전 -> [2개] -> 5개 요청 -..
이 글에서는 Fixed Window Rate Limiter의 동작 원리와 마주칠 수 있는 3가지 핵심 문제점을 정리해두려고 합니다. Fixed Window Rate Limiter가 뭘까?한글 말 뜻으로는 고정된 윈도우 처리율 제한 입니다. 이해하기 쉬울 정도의 예상된 동작을 유추할 수 있습니다. 5분 간격의 윈도우했다고 가정00시 00분 ~ 00시 04분 59초 -> 윈도우 100시 05분 ~ 00시 09분 59초 -> 윈도우 2~.. 동작 원리사이드 프로젝트에서 사용한 케이스는개발에서 개발자가 만든 런타임 예외를 설정하고, 이 예외가 발생한다면 슬랙으로 알림이 올 수 있도록 설정할 때, 같은 예외 같은 로깅 레벨의 예외가 발생했을 경우에 중복으로 알림을 발송하지 않도록 제한을 걸어둘 때 사용하였습니다...
예외가 발생했을 때 알림을 슬랙과 연동하는 기능을 구현하면서, 처리율 제한(Rate Limiter) 을 도입하였습니다.https://medium.com/@anil.goyal0057/rate-limiter-sliding-window-logs-algorithm-using-deque-58831661b9eehttps://www.codereliant.io/p/rate-limiting-deep-dive?utm_sourcehttps://medium.com/%40shivammishra20121999/rate-limiter-696870cb99a2 이번 글에서는 현재 개발중인 RateLimiter의 성능 병목점을 분석하고, 이를 개선하기 위한 여러 방안을 비교해보겠습니다. 현재 구현의 문제점매 요청마다 전체 맵을 순회현재..
솜사탕코튼
'RateLimiter' 태그의 글 목록