다섯 살도 알 수 있게 · SRE

속도 제한이 뭐예요?

속도 제한을 한 사람당 1분에 몇 번까지만 받아주는 창구 이야기로 풀어봤어요.

기다리는 손님들또! 또! 또! 또!창구한 손님이 쉬지 않고 요청을 보내, 다른 손님이 못 들어와요

한 손님이 쉬지 않고 요청을 보내, 다른 손님이 못 들어와요.사람이든 봇이든, 혼자 창구를 다 차지할 수 있어요.

창구규칙이 없으면 막을 방법이 없어요막는 규칙이 없으면 한 명이 창구 전체를 독차지할 수 있어요

막는 규칙이 없으면 한 명이 창구 전체를 독차지할 수 있어요.규칙이 있어야 공평하게 나눠 써요.

규칙1분에 5번까지창구6번째... 조금만 기다려요창구마다 '한 사람당 1분에 몇 번까지'를 정해서, 넘으면 잠깐 기다리게 해요한도를 정하면, 한 사람이 전부를 차지하지 못해요

창구마다 '한 사람당 1분에 몇 번까지'를 정해서, 넘으면 잠깐 기다리게 해요.한도를 정하면, 한 사람이 전부를 차지하지 못해요.

누구에게 매길지 정해요사람별 또는 전체로요
넘으면 거절하거나 늦춰요잠깐 기다리게 해요
급할 땐 살짝 여유를 둬요버킷에 남은 만큼요
한도는 숫자로 보여줘요남은 횟수를 알려줘요
토큰 버킷코인 5개, 천천히 다시 채워져요창구요청마다 코인 하나씩코인이 떨어지면 잠깐 기다려요

이게 토큰 버킷이에요 — 요청마다 코인 하나씩 꺼내요.코인이 떨어지면 다시 채워질 때까지 잠깐 기다려요.

창구속도 제한 = 우리 시스템 보호DDoS 방어·WAF = 나쁜 손님을 가려 막기둘은 달라요

둘은 달라요.속도 제한은 누가 나쁜지 가리지 않고, 다 같이 적당히만 쓰게 해요.

한 줄로

속도 제한 = 한 사람(또는 전체)이 일정 시간에 몇 번까지만 쓰게 해서, 창구를 다 같이 쓸 수 있게 하는 일.

Rate limiting. 사용자별·API별로 호출 횟수에 상한을 두는 기법이에요. 토큰 버킷이나 슬라이딩 윈도 같은 알고리즘으로 구현하고, 넘으면 보통 429 응답을 돌려줘요. DDoS 방어나 WAF와는 목적이 달라요 — 그쪽은 공격자를 가려내고, 속도 제한은 우리 시스템 자신을 보호해요.

어른들은 이렇게 불러요

속도 제한
Rate limiting
얼마나 자주 쓸 수 있는지 정해두는 규칙. 창구마다, 사람마다 정할 수 있어요.
토큰 버킷
Token bucket
코인이 든 양동이. 요청마다 코인 하나씩 쓰고, 천천히 다시 채워져요.
슬라이딩 윈도
Sliding window
최근 일정 시간 동안만 세는 방법. 이름만 알아둬도 충분해요 — 토큰 버킷과 비슷한 또 다른 방식이에요.
사용자별/전체 한도
Per-user / Global limit
누구에게 규칙을 매길지. 한 사람씩 잴 수도, 창구 전체로 잴 수도 있어요.
429 응답
429 response
'너무 많아요'라는 대답. 이름만 알아둬도 충분해요 — 한도를 넘었을 때 돌아오는 신호예요.
API 게이트웨이
API gateway
여러 창구를 한데 모은 정문 안내소. 속도 제한은 주로 여기서 걸려요.
DDoS 방어와의 차이
Difference from DDoS defense
속도 제한은 공격자를 가리지 않아요. DDoS 방어·WAF는 나쁜 손님을 가려 막고, 속도 제한은 우리 시스템 자신을 보호해요.
할당량
Quota
더 긴 기간(하루·한 달) 동안의 한도. 1분당 한도보다 긴 호흡으로 정해요.
다음 이야기
안전바 딸깍 확인 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →