📈 API Gateway Throttling 구현

MSA 설계 패턴 중 하나로 API Gateway 가 있는데요, 이 API Gateway 의 주요 기능 중 하나가 바로 API Throttling 입니다. 오늘 소개해드릴 블로그는 이런 API Throttling 이 무엇이고 실제 구현은 어떻게 되어있는지를 자세하게 설명하고 있습니다. 📌 API Throttling? API 요청에 속도와 횟수를 제한하는 Rate Limit 기능 입니다. API Throttling 을 구현하면 특정 사용자가 만든 프로그램이 버그가 있어 요청량이 폭증하거나 악의적인 사용자가 DoS(Denial of service)와 같은 공격을 시도하더라도 서비스 가용성(Availability)에 문제가 생기지 않도록 할 수 있습니다. 📌 API Throttling 종류 API Throttling 의 구현은 일반적으로 Bucket 과 Window 를 컨셉으로 한 알고리즘이 사용됩니다. ✔️ Leaky Bucket - https://en.wikipedia.org/wiki/Leaky_bucket ✔️ Token Bucket - https://en.wikipedia.org/wiki/Token_bucket ✔️ Fixed Window, Sliding Window- https://konghq.com/blog/how-to-design-a-scalable-rate-limiting-algorithm/ 📌 Leaky Bucket - 고정된 버킷최대깊이(T)의 버킷에 네트워크 요청 유입속도의 한계값(τ)을 정하고 지정된 속도에 맞춰서 일정하게 처리하도록 구현하는 방식입니다. 한계값을 초과하면 그 뒤에 유입된 요청은 버립니다. - 고정된 처리량(개수/속도)을 기반으로 동작을 하기에, 안정된 처리율과 메모리 사용을 보장할 수 있는 장점이 있습니다. - Peek 시간에 적절한 Rate 인자를 배정하지 못하면, 신규 요청건들이 Queue 에서 넘쳐버리게되고 다음 Rate Time 까지 기다려야 하는 단점이 있습니다. 📌 Token Bucket - Bucket 에 저장 할 수 있는 최대 토큰의 숫자를 정하고 일정주기로 해당 토큰을 채워주도록 하는 상태에서 요청마다 특정 갯수의 토큰을 사용하도록 구현하는 방식입니다. 토큰이 없으면 요청 메시지를 반환합니다. - 짧은 시간에 집중되는 트래픽도 토큰만 있으면 처리가 가능하기 때문에 다음 Rate Time 을 기다려야하는 Leaky Bucket 의 단점이 사라집니다. - 초당처리량과 최대 버킷크기의 값을 적절히 튜닝해야하는 단점이 있습니다. 공유드린 블로그에 이에 대한 자세한 설명과 구현 내용이 있으니 관심있으신 분들께서는 한번 보시면 좋겠습니다. 📚 함께보면 좋은 글 - 🧩 마이크로서비스 설계 패턴: https://careerly.co.kr/comments/84921?utm_campaign=self-share https://doublem.org/api-gateway-basic/

API Gateway Throttling 구현 | Doublem.org

Doublem.org | Software Design & Development Blog

API Gateway Throttling 구현 | Doublem.org

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 6월 7일 오전 7:51

 • 

저장 37조회 3,213

댓글 0

    함께 읽은 게시물

    알아 알아 알아! 🤣

    ... 더 보기


    혹시 Claude 나 cursor 등 AI 로 개발하실 때
    뭔가 AI 스러운 뻔한 디자인 때문에

    ... 더 보기

    LinkedIn

    www.linkedin.com

    LinkedIn

    🍜 짜파게티가 왜 거기서 나와?

    ... 더 보기

    이젠 Claude 모델이 그렇게 압도적으로 좋은 건 아닌데, Claude Code는 진짜 분명하게 좋음. 아마도 프롬프트가 잘 되어 있어서 그런 것 같음. Claude의 다른 프롬프트들은 공개해뒀는데 Claude Code용 프롬프트는 공개를 안해줌. 역시 아무리 투명하게 공개한다고 해도 진짜 좋은 건 다 기업비밀임..


    사람들이 요즘 AI, ChatGPT에게 의존하여 사고력이 저하되고 있다는 이야기가 많이 나온다.


    두뇌 발달에 안 좋으니, 80년대에 계산기 쓰지마라, 90년대에 컴퓨터 쓰지마라, 2000년대에 엑셀 팡션 쓰지마라, 2010년에 스마트폰 쓰지마라는 말과 같다는 생각이다.


    ... 더 보기

     • 

    저장 7 • 조회 2,531