devterview_$ iniciar simulação

Algoritmos de rate limiting

DifícilSêniorDesign de sistemas

Pergunta

Compare token bucket e sliding window como algoritmos de rate limiting de uma API.

Resposta esperada

Token bucket mantém um 'balde' que enche a uma taxa fixa; cada requisição consome um token, e o balde permite rajadas até sua capacidade máxima antes de começar a bloquear. Sliding window log/counter conta requisições dentro de uma janela de tempo móvel, sendo mais preciso na distribuição real do tráfego mas mais caro em memória (especialmente a versão log, que guarda timestamps). Token bucket é mais simples e barato e tolera rajadas curtas de propósito; sliding window é melhor quando você precisa de um limite estrito e previsível por janela.

Por que perguntam isso

Pergunta de nível sênior porque exige comparar trade-offs de precisão vs. custo de memória, não só descrever um algoritmo.

#rate-limiting#apis
publicidade

Perguntas de acompanhamento

Relacionadas