Todos los productos
Search
Centro de documentos

ApsaraMQ for RabbitMQ:**Retry policies**

Última actualización: Sep 05, 2026

Este tema describe la directiva predeterminada de reintento de consumo del lado del servidor para ApsaraMQ for RabbitMQ. A continuación se explica cómo se gestionan los mensajes tras un fallo de consumo para ayudarle a elegir una directiva de procesamiento adecuada.

Flujo de reintento de consumidor

El mecanismo de reintento de consumidor mejora la fiabilidad del sistema y la consistencia de los datos al reintentar automáticamente el envío o procesamiento de mensajes cuando ocurren fallos temporales.

  • Ready: Mensajes que se encuentran en una cola y esperan ser consumidos.

  • Unack: Mensajes que un consumidor ha recuperado pero aún no ha confirmado. Esto significa que el mensaje se recibió, pero no se ha procesado por completo.

image

Propiedades de la directiva de reintento

La directiva de reintento de consumidor consta de dos propiedades clave: tiempo de espera de consumo y número máximo de intentos de entrega.

image

Tiempo de espera de consumo

El tiempo de espera de consumo es el tiempo máximo permitido para que un consumidor procese un mensaje. Si un consumidor no procesa un mensaje dentro de este periodo, el mensaje vuelve al estado Ready. Posteriormente, otro consumidor puede recuperarlo. Establecer un tiempo de espera de consumo razonable ofrece las siguientes ventajas:

  • Evitar suspensiones prolongadas: Un tiempo de espera de consumo adecuado evita que un consumidor permanezca suspendido durante mucho tiempo mientras procesa un mensaje. Esto previene la acumulación de mensajes y mejora el rendimiento general del sistema.

  • Garantizar un procesamiento fiable de mensajes: Si un consumidor no logra procesar un mensaje durante un periodo prolongado, ApsaraMQ for RabbitMQ reenvía el mensaje a otros consumidores. De esta forma se asegura que el mensaje se procese con prontitud.

Número máximo de intentos de entrega

El número máximo de intentos de entrega es la cantidad máxima de veces que el sistema intenta entregar un mensaje a un consumidor. Configurar un límite razonable de intentos de entrega proporciona los siguientes beneficios:

  • Evitar reintentos infinitos: Establecer un número máximo de intentos de entrega impide que los mensajes se reenvíen indefinidamente. Esto evita el desperdicio de recursos del sistema.

  • Failover: Cuando se alcanza el número máximo de intentos de entrega, el sistema puede reenviar el mensaje a una cola de mensajes muertos. Los desarrolladores pueden entonces analizar y procesar dicho mensaje.

Nota

La propiedad x-delivery-limit de una cola especifica el número máximo de reentregas. El número máximo de intentos de entrega equivale a x-delivery-limit + 1.

Descripción de parámetros de la directiva de reintento de instancia

Tipo de instancia

Instancias serverless

Instancias de suscripción

Compartida

Dedicada

Enterprise Edition

Platinum Edition

Reservada + Elástica / Pago por uso acumulado

Reservada + Elástica

Tiempo de espera de consumo

Máximo: 3 horas

Predeterminado: 5 minutos

Máximo: 12 horas

Predeterminado: 30 minutos

Máximo: 3 horas

Predeterminado: 5 minutos

Máximo: 12 horas

Predeterminado: 30 minutos

Número máximo de intentos de entrega

Máximo: 16

Predeterminado: 16

Máximo: 16

Predeterminado: 16

Máximo: 16

Predeterminado: 16

Máximo: 64

Predeterminado: 16

Modifique la directiva de reintento de consumidor

  1. Inicie sesión en la consola de ApsaraMQ for RabbitMQ.

  2. En la página Overview, dentro de la sección Resource Distribution, seleccione una región y haga clic en la instancia deseada.

    • Directiva de reintento de instancia

      1. En la página Instance Details, haga clic en la pestaña Retry Policy y luego en Edit.

      2. En el panel Modify Retry Policy, establezca los valores de Maximum Number of Deliveries y Consumption Timeout Period según los rangos de valores descritos anteriormente.

    • Directiva de reintento de cola

      1. En el panel de navegación izquierdo, haga clic en Queue List y luego en la cola deseada.

      2. En la página Queue Details, haga clic en la pestaña Retry Policy y luego en Edit.

      3. En el panel Modify Retry Policy, configure los valores de Inherit Instance Configurations, Maximum Number of Deliveries y Consumption Timeout Period según los rangos de valores descritos anteriormente.

        imagen

        • Si una cola hereda la configuración de la instancia, su directiva de reintento depende de la configuración de nivel de instancia. La directiva de reintento de la cola se actualiza cada vez que cambia la configuración de la instancia.

        • Si una cola no hereda la configuración de la instancia, su directiva de reintento se configura de forma independiente y anula la configuración de nivel de instancia.

  3. Haga clic en OK.