특정 사용자가 서비스의 리소스를 모두 차지하지 않도록 Rate Limit을 보통 사용하는데 이를 구현하는 알고리즘을 설명한 글입니다. 각 알고리즘을 애니메이션으로 비교해서 보여주기 때문이 이해하기 좋은 글입니다.


Fixed WIndow는 가장 간단하면서도 사용자가 예측하기 쉽지만 Windows가 시작 도리때 요청이 몰리거나 Window의 시간이 길다면 타임존의 영향을 받아서 Rate Limit이 의도와 다르게 동작할 수 있습니다.


Sliding Windows 방식은 동시에 받을 수 있는 요청수를 제한하기 때문에 요청을 원활하게 분산할 수 있지만 대신 적용하는데 리소스가 많이 필요합니다.


Token Bucket 방식은 버킷에 토큰이 있어야만 요청을 보낼 수 있는 방식으로 토큰은 일정 시간 간격으로 버킷에 채워지는 형태입니다. 유연한 방식이지만 사용자가 자신의 토큰이 어느정도 있는지 예측하기가 쉽지 않은 문제가 있습니다.


https://smudge.ai/blog/ratelimit-algorithms

rate limiter - smudge.ai blog

Smudge

rate limiter - smudge.ai blog

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 6월 15일 오전 5:27

 • 

저장 17조회 2,955

댓글 0

    함께 읽은 게시물


    Next.js 프로젝트를 AWS EKS에 배포하며 배운 것들

    ... 더 보기

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

    product.kyobobook.co.kr

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

     • 

    저장 4 • 조회 905


    개발자 교양 팟캐스트

    A

    ... 더 보기

    [DZone] 2024년 클라우드 보안 환경 이해

    ... 더 보기

    Understanding the 2024 Cloud Security Landscape - DZone

    dzone.com

    Understanding the 2024 Cloud Security Landscape - DZone

    토요일에 회사에서

    

    ... 더 보기

    < 뛰어난 리더는 '시간'을 가장 까다롭게 쓴다 >

    1. 관리자 업무 중 상당한 부분을 차지하는 일은 인력, 돈, 자본 등의 자원을 할당하는 것이다.

    ... 더 보기