Cuando se entrega un mensaje a un suscriptor de extracción, el suscriptor debe procesar y confirmar (confirmar) el mensaje dentro del plazo límite. De lo contrario, el el suscriptor debe extender el plazo con una llamada para modificar la confirmación fecha límite.
Las bibliotecas cliente de alto nivel de Pub/Sub Proporcionar la administración de arrendamientos como una función que extiende automáticamente el plazo de un mensaje que aún no se confirmó. De forma predeterminada, el cliente las bibliotecas pueden extender el plazo a una hora mediante modifyAckDeadline solicitudes.Las bibliotecas cliente de alto nivel para Python, Go, Java y .NET usan percentil 99 de demora en la confirmación para determinar la longitud de cada .
La administración de arrendamientos te permite tener un control más detallado sobre la fecha límite de confirmación de los mensajes en comparación con la configuración de la propiedad a nivel de la suscripción. Si solo usas el plazo límite para confirmar la suscripción, tienes lo siguiente: para equilibrar la compensación entre un valor bajo y uno alto. Un valor bajo aumenta la probabilidad de duplicados, y un valor alto retrasa la reimpresión de los mensajes que fallaron. Determinar el valor adecuado puede ser difícil, especialmente cuando el tiempo de procesamiento esperado para diferentes mensajes varía mucho.
Para obtener más información sobre las propiedades de una suscripción, incluida la fecha límite de acuse de recibo, consulta Propiedades de la suscripción.
Configuración de la administración de la asignación de tiempo
Puedes configurar las siguientes propiedades del bibliotecas cliente de alto nivel para controlar y administración de arrendamientos.
Período máximo de extensión de confirmación de recepción. La cantidad máxima de tiempo para el cual puedes extender el plazo de confirmación de un mensaje usando
modify acknowledgment deadline
solicitud. Esta propiedad te permite determinar por mucho tiempo quieres que los clientes suscriptores procesen mensajes.La duración máxima de cada extensión de confirmación de recepción. La cantidad máxima de la fecha límite para extender el plazo de confirmación de cada una de las
modify acknowledgment deadline
solicitudes. Esta propiedad te permite definir el tiempo que tarda Pub/Sub en volver a entregar un mensaje. El reenvío se produce cuando el primer suscriptor que procesa el mensaje falla o se vuelve en mal estado y ya no puede enviar la solicitudmodify acknowledgment deadline
.Duración mínima de cada extensión de confirmación de recepción. El importe mínimo de plazo para extender el plazo límite de confirmación de cada una de las
modify acknowledgment deadline
solicitudes. Esta propiedad te permite especificar la duración de tiempo que debe transcurrir antes de que se vuelva a entregar un mensaje.
No se garantiza que se respeten los plazos de confirmación, a menos que habilitas entrega exactamente una vez.
Administra los plazos de confirmación de forma manual
Para evitar el vencimiento y el reenvío de los mensajes cuando se usa una extracción unaria o
bibliotecas cliente de bajo nivel, usa la solicitud modify acknowledgment deadline
para extender su confirmación
los plazos de entrega. Las excepciones son Go y C++
con bibliotecas cliente de alto nivel que administran las asignaciones de tiempo cuando se usa unario.
y, luego, extraerla. Consulta los siguientes ejemplos de extracción unaria con administración de asignaciones de tiempo:
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
¿Qué sigue?
Lee sobre otras opciones de entrega que puedes configurar para una suscripción:
Controla las fallas de los mensajes con la política de reintentos de suscripción
Reenvía los mensajes no entregados a un tema de mensajes no entregados
Cómo volver a reproducir mensajes confirmados anteriormente o borrar definitivamente mensajes