Publicado originalmente el 3 de octubre de 2019
Como gerente de producto de la API de Brightspace, he tenido la oportunidad de reunirme con muchos clientes y socios para conocer la amplia variedad de integraciones y soluciones que se han desarrollado. Durante este período de tiempo, también hemos analizado los datos de uso de la API de Brightspace. Para aquellos que asistieron a mi sesión en Fusion 2019, recordarán que estos datos anecdóticos y analíticos me han dejado claro los tipos de soluciones API que se están desarrollando (Integración, Automatización, Datos, UX personalizada e Innovación). Estos datos también nos han informado de que el uso de la API de Brightspace ha aumentado significativamente a lo largo de los años, algo que nos entusiasma a todos.
Al igual que para cualquier producto API, el aumento del uso es un arma de doble filo. Nos demuestra que nuestra API está aportando valor a muchos de vosotros. Sin embargo, la desventaja es que hemos visto escenarios de uso extremadamente alto de API que han causado un impacto negativo en el rendimiento de los servidores de Brightspace. Los picos en el uso muy alto de la API tienen un impacto en el rendimiento del servidor.
Nuestro objetivo como proveedor de SaaS es proporcionarle estabilidad y tiempo de actividad de las aplicaciones. Por lo tanto, hemos decidido activamente investigar cómo colaborar con clientes y socios para garantizar que el uso de la API pueda seguir creciendo y, al mismo tiempo, evitamos problemas de rendimiento.
Registro de velocidad de API = Ahora
Nuestra investigación inicial principal es registrar escenarios en los que una aplicación API de Brightspace específica ha realizado una gran cantidad de llamadas a la API en un corto período de tiempo. Los datos que hemos recopilado hasta ahora ya han sido esclarecedores. Estos datos nos han proporcionado una mejor comprensión de los patrones de ruta de la API que se utilizan para soluciones de gran volumen. Esto nos ha permitido:
- Inicie conversaciones significativas con los clientes sobre las mejores prácticas de desarrollo de API. El objetivo de estas reuniones es encontrar formas de desarrollar juntos soluciones API más eficientes y escalables.
- Identificar oportunidades para mejorar la eficiencia de las API existentes.
- Investigue el desarrollo de API masivas que disminuirían el número de llamadas API entrantes.
- Considere cuál podría ser una cantidad aceptable de llamadas a la API realizadas por una aplicación.
Limitación de velocidad de API = Futuro cercano
Todos los puntos anteriores están ayudando a D2L a determinar formas de permitir que nuestros clientes y socios continúen desarrollando increíbles soluciones de Brightspace mientras mantienen la estabilidad de Brightspace. El último punto es importante, ya que creemos que podemos determinar cuál sería una cantidad aceptable de llamadas a la API para una aplicación bien diseñada.
A medida que mejore nuestro registro de tasas de API, utilizaremos estos datos para determinar un umbral de uso de API de "uso adecuado". Este umbral se basaría en tener un impacto mínimo en las soluciones existentes y, al mismo tiempo, evitar que las soluciones afecten negativamente el rendimiento de Brightspace. Nuestro plan es usar esto como parte de una solución de limitación de velocidad de API. Dicha solución sería:
- Bloquear el tráfico de la API que supere el umbral de uso aceptable
- Informar a un desarrollador cuando se ha bloqueado el tráfico de la API
- Informar a un desarrollador del proceso que se debe llevar a cabo para que se le permita continuar realizando llamadas a la API
¿Cuándo sucederá esto?
El registro de tarifas de API se activó para todos los clientes de D2L en octubre de 2019.
La limitación de velocidad de API se activó para todos los nuevos clientes de D2L el 16 de diciembre de 2019.
La limitación de velocidad de API se activó para todos los clientes de D2L existentes que no son sitios de producción en Lunes, 9 de marzo de 2020.
La limitación de velocidad de API es planificado que se activará para todos los clientes de D2L existentes Centros de producción en Lunes, 8 de junio de 2020.
Cómo empezar a prepararse para la limitación de velocidad de API
Supervise el uso de la API de Brightspace
Revise el código que ya ha escrito para ver si puede reducir el volumen de llamadas que está realizando. ¿Está utilizando llamadas a la API para recuperar datos estáticos que estarían disponibles a través de conjuntos de datos? ¿Hay rutas de API de Brightspace más nuevas disponibles que harían que su código sea más eficiente? Considere la posibilidad de registrar sus llamadas a la API para que pueda obtener más claridad sobre los picos de uso de la API.
Implemente su propia solución de limitación de API
Trabaje con su personal técnico para determinar si una puerta de enlace de API o una solución de bus de servicio empresarial tiene sentido por este y otros motivos.
Preparación del código
Compartiremos más detalles sobre la implementación de nuestra solución de limitación de velocidad en los próximos meses. Estamos seguros de que nuestra solución bloqueará las llamadas a la API que superen el umbral de uso aceptable. Cuando se implemente la solución de límite de velocidad, sabrá que ha experimentado un evento de límite de tasa de API cuando reciba un mensaje de respuesta 429 "Demasiadas solicitudes". Esta respuesta incluirá información sobre cuánto tiempo tendrá que esperar hasta que pueda volver a intentar enviar llamadas a la API.
Envíenos sus comentarios
Comenta en este artículo si tienes preguntas. Supervise la comunidad de desarrolladores de Brightspace, ya que publicaremos más detalles a medida que evolucione esta solución. Y, como siempre, háganos saber, a través del intercambio de ideas de productos, las formas en que podemos mejorar la API de Brightspace para permitirle hacer que su código sea más eficiente. Si no encuentra la respuesta a su pregunta, no dude en conectarse con su D2L TAM y/o CSM.
¿Qué más necesito saber?
Al igual que otras funciones de Brightspace, esperamos que el registro y la limitación de tarifas de API evolucionen en función de los comentarios de los clientes y el análisis de datos. Dado que el objetivo principal de la implementación de estas soluciones es la estabilidad de su experiencia con Brightspace, continuaremos proporcionando actualizaciones sobre el registro y la limitación de tasas de API en función de este objetivo. Las actualizaciones se comunicarán a través de la comunidad de Brightspace, la documentación de valencia, la revisión/vista previa de 90 días, así como a través de su TAM/CSM D2L.
Recursos adicionales
Registro/limitación de velocidad de API - Preguntas frecuentes