Actualmente, Zendesk ofrece paginación basada en desplazamientos para casi todos sus extremos actuales de la API de REST. Si bien esto está bien para la mayoría de los casos de uso de pequeña escala (p. Ej., Solicitudes que no superan las 10 páginas de datos), ejerce una presión exponencial sobre la infraestructura cuando se usa a grandes escalas con desplazamientos de página altos. Estas solicitudes de desplazamiento altas generan tiempos de respuesta altos y un rendimiento deficiente porque, por cada nueva página solicitada, el trabajo de reunir todas las páginas anteriores todavía tiene que realizarse primero.
Para proporcionar una mejor experiencia para los desarrolladores y un rendimiento más rápido para nuestros clientes, pronto realizaremos la migración principalmente a la paginación basada en cursor e implementaremos límites en las solicitudes de desplazamiento de página muy altas.
- ¿Qué es la paginación basada en cursor?
- ¿Cómo y por qué estamos haciendo estos cambios?
- Límites para la paginación basada en desplazamientos
- ¿Cómo puedo comenzar a implementar estos cambios?
- ¿Qué extremos son compatibles?
¿Qué es la paginación basada en cursor?
La paginación basada en cursor funciona usando un puntero a un elemento específico en un conjunto de datos para marcar el progreso. Básicamente, esto actúa como una especie de marcador que le permite solicitar el siguiente lote de elementos en el conjunto de datos proporcionando el cursor en las solicitudes subsiguientes. En lugar de hacer que la página siguiente repita los elementos, se proporciona el cursor dado en la respuesta anterior. Esto tiene la ventaja de que permite resultados más rápidos para volúmenes altos.
¿Cómo y por qué estamos haciendo estos cambios?
Próximamente Zendesk hará cambios que mejoran el uso de la API a gran escala. Esto incluye hacer que la paginación basada en cursores esté ampliamente disponible, comenzando con nuestra Terminales de usuarios, tickets y etiquetas antes de agregar la mayoría de nuestros terminales a lo largo de 2021.
La paginación basada en desplazamientos se seguirá ofreciendo con un alcance y una profundidad considerablemente limitados. Esto incluye limitar las solicitudes de desplazamiento muy altas (solicitudes de más de 1000 páginas), lo que tendrá una variedad de resultados (los más positivos) para los grandes consumidores de nuestras API.
Los beneficios de la paginación basada en cursor incluyen:
- Las solicitudes ya no sufrirán los tiempos de espera extremadamente altos que se encuentran cuando se hacen solicitudes con un número de páginas muy alto. Esto dará como resultado un rendimiento más rápido para casi todas las integraciones que requieren analizar conjuntos enteros de recursos página por página.
- Las solicitudes que usan la paginación basada en cursor ya no representan el riesgo para la infraestructura que presenta la alta paginación basada en desplazamientos de página, desde interrupciones del servicio hasta incidentes causados por sobrecarga de la infraestructura.
- En el caso de las integraciones que usan la paginación basada en desplazamiento para exportar un conjunto completo de recursos, el cambio a la paginación basada en cursor será relativamente fácil, ya que requiere un mínimo de retrabajo para preparar las integraciones para el cambio. En lugar de elegir un next_page , la integración puede usar el parámetro delcursor para una nueva página.
Consulte esta página para ver una comparación más detallada.
Límites para la paginación basada en desplazamientos
A Zendesk le gustaría que todo el tráfico que puede usar la paginación basada en cursor se aleje de la paginación basada en desplazamiento.
Para fomentar este cambio, a partir del 15 de septiembre de 2021, Zendesk implementará límites de procesamiento para las solicitudes que excedan las 1000 páginas (100.000 recursos). Para todas las solicitudes de más de 1000 páginas, las cuentas tendrán un límite de 10 solicitudes por minuto.
Esto ralentizará (pero no detendrá) las solicitudes que gravan nuestra infraestructura de manera desproporcionada. Si se hace una solicitud de más de 1000 páginas a una velocidad superior a 10 veces por minuto, se dará una respuesta 429 y la solicitud se tendrá que volver a intentar más tarde. El mensaje de error también indicará la cantidad de tiempo que queda antes de que los usuarios puedan enviar su próxima solicitud y continuar la búsqueda.
Las solicitudes hechas usando la paginación basada en cursor no tendrán un límite similar y funcionarán más rápido que las solicitudes de desplazamiento de página alto.
¿Cómo puedo comenzar a implementar estos cambios?
Recomendamos que planee cambiar a la paginación basada en cursores lo antes posible. Consulte Paginación de listas usando la paginación basada en cursor. Después de que tenga la oportunidad de ver los cambios y discutirlos internamente, le pedimos que revise algunos puntos:
- Asegurarse de que las integraciones que seguirán usando la paginación basada en desplazamiento lo hagan dentro de nuestros límites.
- Revise las partes de sus integraciones que usan la API específicamente para recopilar todos los datos disponibles o simplemente para informar sobre los cambios. Por lo general, son candidatos ideales para el almacenamiento de datos.
- Si usa el extremo para eliminar todos los datos disponibles, comience a trabajar para cambiar a la paginación basada en cursor.
- Si usa la API para informar sobre los cambios diarios, comience a usar nuestras API incrementales, lo que permitiría almacenar una gran cantidad de todos los datos pertinentes para este caso de uso. Si usa la paginación basada en cursor para la exportación inicial y luego cambia a la API incremental para capturar los cambios, se reducirán considerablemente las llamadas necesarias para recopilar datos pertinentes.
- Si actualmente realiza solicitudes en varias páginas en paralelo, considere la opción incremental anterior, ya que la paginación en paralelo no es compatible y es muy exigente para nuestra infraestructura.
¿Qué extremos son compatibles?
Si desea ver una lista de los extremos que admiten la paginación con cursor, consulte Extremos con capacidad CSP en el anuncio sobre los límites de la paginación basada en desplazamientos.
Si después de revisar este artículo tiene más preguntas o inquietudes, con gusto hablaremos de ellas con usted y sus equipos de ingeniería e integraciones.
Gracias por tomarse el tiempo de analizar estos puntos. Esperamos poder trabajar con usted en un futuro cercano para crear herramientas mejores, más rápidas y más escalables para atender mejor a sus clientes.
Descargo de responsabilidad de la traducción: Este artículo ha sido traducido usando software de traducción automática para proporcionar una idea básica del contenido. Se han realizado esfuerzos razonables para proporcionar una traducción exacta, sin embargo, Zendesk no garantiza la exactitud de la traducción.
Si surge alguna pregunta relacionada con la exactitud de la información incluida en el artículo traducido, consulte la versión en inglés del artículo, que es la versión oficial.