Publicado originalmente em 3 de outubro de 2019
Como gerente de produto da API do Brightspace, tive a oportunidade de me encontrar com muitos clientes e parceiros para aprender sobre a ampla variedade de integrações e soluções que foram desenvolvidas. Durante esse período, também analisamos os dados de uso da API do Brightspace. Para aqueles que participaram da minha sessão no Fusion 2019, você deve se lembrar que esses dados anedóticos e analíticos deixaram claro para mim os tipos de soluções de API que estão sendo desenvolvidas (Integração, Automação, Dados, UX Personalizado e Inovação). Esses dados também nos informaram que o uso da API do Brightspace aumentou significativamente ao longo dos anos, o que é algo com o qual estamos todos muito entusiasmados.
Como para qualquer produto de API, o aumento do uso é uma faca de dois gumes. Isso nos mostra que nossa API está agregando valor a muitos de vocês. No entanto, a desvantagem é que vimos cenários de uso extremamente alto da API que causaram um impacto negativo no desempenho dos servidores Brightspace. Picos no uso muito alto da API têm um impacto no desempenho do servidor.
Nosso objetivo como fornecedor de SaaS é fornecer estabilidade e tempo de atividade do aplicativo. Portanto, decidimos ativamente investigar como colaborar com clientes e parceiros para garantir que o uso da API possa continuar a crescer e, ao mesmo tempo, evitar problemas de desempenho.
Registro de taxa de API = agora
Nossa principal investigação inicial é registrar cenários em que um aplicativo de API do Brightspace específico executou uma grande quantidade de chamadas de API em um curto período de tempo. Os dados que coletamos até agora já foram perspicazes. Esses dados nos forneceram uma melhor compreensão dos padrões de rota da API usados para soluções de alto volume. Isso nos permitiu:
- Inicie conversas significativas com os clientes sobre as melhores práticas de desenvolvimento de API. O objetivo dessas reuniões é encontrar maneiras de desenvolver soluções de API mais eficientes e escaláveis em conjunto.
- Identifique oportunidades para melhorar a eficiência das APIs existentes.
- Investigue o desenvolvimento de APIs em massa, o que diminuiria o número de chamadas de API recebidas.
- Considere qual pode ser uma quantidade aceitável de chamadas de API executadas por um aplicativo.
Limitação de taxa de API = futuro próximo
Todos os pontos acima estão ajudando a D2L a determinar maneiras de permitir que nossos clientes e parceiros continuem a desenvolver soluções incríveis do Brightspace, mantendo a estabilidade do Brightspace. O último ponto é importante, pois acreditamos que podemos determinar qual seria a quantidade aceitável de chamadas de API para um aplicativo bem projetado.
À medida que nosso registro de taxa de API melhorar, usaremos esses dados para determinar um limite de uso de API de "uso apropriado". Esse limite seria baseado em ter um impacto mínimo nas soluções existentes, evitando que as soluções afetassem negativamente o desempenho do Brightspace. Nosso plano é usar isso como parte de uma solução de limitação de taxa de API. Tal solução iria:
- Bloquear o tráfego de API que excede o limite de uso aceitável
- Informar um desenvolvedor quando o tráfego da API for bloqueado
- Informe um desenvolvedor sobre o processo a ser seguido para ter permissão para continuar a executar chamadas de API
Quando isso vai acontecer?
O registro de taxas da API foi ativado para todos os clientes da D2L em outubro de 2019.
A limitação de taxa de API foi ativada para todos os novos clientes da D2L em 16 de dezembro de 2019.
A limitação de taxa de API foi ativada para todos os clientes existentes da D2L que não são sites de produção em Segunda-feira, março 9, 2020.
A limitação de taxa da API é planeado a ser ligado para todos os clientes existentes da D2L Segunda-feira, junho 8th, 2020.
Como começar a se preparar para a limitação de taxa de API
Monitorar o uso da API do Brightspace
Revise o código que você já escreveu para ver se pode reduzir o volume de chamadas que está fazendo. Você está usando chamadas de API para recuperar dados estáticos que estariam disponíveis para você por meio de conjuntos de dados? Existem rotas de API do Brightspace mais recentes disponíveis que tornariam seu código mais eficiente? Considere registrar suas chamadas de API para que você possa ter mais clareza sobre seus picos de uso de API.
Implemente sua própria solução de limitação de API
Trabalhe com sua equipe técnica para determinar se uma solução de Gateway de API e/ou Enterprise Service Bus faz sentido por esse e outros motivos.
Preparando código
Compartilharemos mais detalhes sobre a implementação de nossa solução de limitação de taxa nos próximos meses. Estamos confiantes em dizer que nossa solução bloqueará chamadas de API que excederem o limite de uso aceitável. Quando a solução de limite de taxa for implementada, você saberá que experimentou um evento de limite de taxa de API ao receber uma mensagem de resposta 429 "Muitas solicitações". Essa resposta incluirá informações sobre quanto tempo você terá que esperar até poder tentar enviar chamadas de API novamente.
Envie-nos comentários
Comente neste artigo se tiver dúvidas. Monitore a Comunidade de desenvolvedores do Brightspace, pois publicaremos mais detalhes à medida que essa solução evoluir. E, como sempre, informe-nos, por meio do Product Idea Exchange, como podemos melhorar a API do Brightspace para permitir que você torne seu código mais eficiente. Se você não estiver encontrando a resposta para sua pergunta, sinta-se à vontade para entrar em contato com seu D2L TAM e/ou CSM.
O que mais eu preciso saber?
Como outros recursos do Brightspace, nossa expectativa é que o registro e a limitação de taxas de API evoluam com base no feedback do cliente e na análise de dados. Como o principal objetivo da implementação dessas soluções é a estabilidade de sua experiência no Brightspace, continuaremos a fornecer atualizações para o Registro e limitação de taxas de API com base nesse objetivo. As atualizações serão comunicadas por meio da Comunidade Brightspace, da Documentação do Valence, da Revisão/Visualização de 90 dias, bem como por meio do seu D2L TAM/CSM.
Recursos adicionais
Registro/limitação de taxa de API - Perguntas frequentes