Aula 12 Flashcards
Se tiver desenvolvendo uma API, por que é crucial criar um SDK?
SDK, ou Software Development Kit, é uma maneira de facilitar o uso da API nas diversas plataformas de desenvolvimento. Ela faz com que o desenvolvedor não precise escrever muito código e, em muitas vezes, serve até como uma documentação própria da API.
O que uma boa documentação de API inclui?
Endpoints disponíveis, parâmetros necessários, opicionais, exemplos de requisições e respostas em JSON, possíveis erros e como tratá-los, etc.
O que é um Sandbox?
Ambiente isolado onde é possível simular o comportamento da API através de dados fictícios (Mocks).
O que é Rate Limiting?
Quando é estabelecida uma quantidade máxima de requisições feitas pelo Client. Isso contribui para um melhor fluxo de dados e para a segurança da API, tendo em vista que isso protege ela de ataques como DDoS. Algo muito comum de acontecer é o Client mandar uma requisição por engano pedindo para a API buscar muita informação, o que pode sobrecarregar o servidor; O Rate Limiting resolve esse problema.
Quais são os algorítmos de Rate Limiting?
Janela Fixa : Quando tem um limite fixo de requisições e a janela que abrange as requisições tem um tamanho fixo, quando as requisições excedem essa janela, o Client é bloqueado ou desacelerado.
Janela Móvel : Quando tem um limite fixo de requisições e a janela que abrange as requisições tem um tamanho variável, quanto mais requisições mais baixo ela vai indo, até exceder o limite.
Balde de Token : Vários Tokens são largados em um “balde” e cada requisição do Client é um Token utilizado. Quando não tem mais Tokens a serem utilizados, o Client é bloqueado ou desacelerado.
Balde que Vaza : Quando cada requisição feita é jogada dentro de um “balde”. Se esse balde transbordar, o Client é bloqueado ou desacelerado.
Quais são os tipos de Rate Limiting?
User Rate Limiting, Geographic Rate Limiting & Server Rate Limiting