Todos los productos
Search
Centro de documentos

Simple Message Queue (formerly MNS):Directiva de limitación

Última actualización: Sep 05, 2026

Simple Message Queue (formerly MNS) aplica una directiva de limitación a las solicitudes que superan el umbral de limitación. Esto evita una presión excesiva sobre los recursos subyacentes. Conocer esta directiva le permite planificar adecuadamente la frecuencia de envío y recepción de mensajes, así como tomar las medidas pertinentes cuando se activa la limitación.

Comportamiento de la limitación

Cuando el tráfico se acerca o alcanza el umbral de limitación, el servidor ajusta automáticamente dicho umbral con base en el uso de recursos en tiempo real. En la mayoría de los escenarios, este ajuste dinámico admite un mayor volumen de solicitudes concurrentes sin que los usuarios lo perciban. Si se activa una limitación temporal, por ejemplo, por picos repentinos de tráfico o cuellos de botella en los recursos del clúster, el sistema restablece la capacidad de procesamiento de tráfico. Además, aumenta de forma síncrona el umbral de limitación una vez que finaliza el escalado automático.

Al activarse la limitación, el sistema pone en marcha un mecanismo de contrapresión. Las solicitudes que superan el umbral se retienen brevemente en el servidor y luego devuelven un error 429 (TooManyRequests). El servidor ajusta dinámicamente la duración de esta retención según la carga en tiempo real; por lo general, varía entre 10 y 500 milisegundos, con un máximo de 5 segundos. Este mecanismo evita la sobrecarga del sistema, lo cual podría afectar el rendimiento y la estabilidad generales.

Código de error

Cuando se activa la directiva de limitación, el servidor de Simple Message Queue (formerly MNS) devuelve la siguiente información de código de error.

Código de estado HTTPS

Código de error

Mensaje de error

429

TooManyRequests

The request is denied by cluster flow limiter for too many requests.

Umbrales de limitación

Directiva de limitación por consumo anómalo en el modo de consumo de colas

En el patrón estándar de consumo de colas, el cliente debe enviar una solicitud al servidor para eliminar el mensaje después de procesarlo correctamente. Si un cliente presenta de manera reiterada el comportamiento no estándar de "recibir mensajes sin enviar solicitudes de eliminación", el sistema lo marca como consumo anómalo. Ante esto, activa un mecanismo de limitación para garantizar la estabilidad del sistema. Una vez aplicada la limitación, la velocidad a la que el cliente recibe mensajes nuevos disminuye considerablemente.

La limitación se activa cuando se cumple cualquiera de las siguientes condiciones:

  • Duración: el consumo anómalo persiste durante más de 30 minutos.

  • Cantidad de mensajes: el número acumulado de mensajes recibidos pero no eliminados alcanza los 5,000.

  • Tasa de tráfico: la tasa instantánea de mensajes recibidos pero no eliminados supera los 1,000 TPS.

Directiva de limitación para solicitudes de alto tráfico

El umbral de limitación predeterminado es de 20,000 TPS por cuenta de Alibaba Cloud y por región. Si su tráfico supera los 20,000 TPS, inicie sesión en la consola Quota Center para solicitar un aumento del valor máximo de TPS por región. Para conocer los pasos detallados, consulte Submit an application to increase a quota.

Reglas para el conteo de solicitudes:

  • Cada llamada a la API cuenta como una solicitud.

  • Cálculo de TPS en escenarios de envío por lotes: cuando llama a la operación BatchSendMessage en una cola, los TPS de BatchSendMessage equivalen a las solicitudes reales de BatchSendMessage por segundo multiplicadas por la cantidad de mensajes por solicitud. Por ejemplo, si se llama a BatchSendMessage 100 veces por segundo y cada llamada contiene 10 mensajes, los TPS consumidos por una sola cola son 100 × 10 = 1,000.

  • Cálculo de TPS en escenarios de consumo por lotes: cuando llama a la operación BatchReceiveMessage en una cola, los TPS de BatchReceiveMessage equivalen a las solicitudes reales de BatchReceiveMessage por segundo, independientemente de la cantidad de mensajes por lote. Por ejemplo, si se llama a BatchReceiveMessage 100 veces por segundo y cada llamada contiene 10 mensajes, los TPS consumidos por una sola cola son 100.

Cómo evitar el impacto de la limitación

Para evitar que la directiva de limitación afecte su negocio, preste atención a los dos aspectos siguientes:

  • Planifique el tráfico cuidadosamente y comunique los picos con anticipación: si prevé un crecimiento de tráfico a gran escala y los TPS superan el valor máximo que puede solicitar en la consola Quota Center, envíe un ticket para comunicarse con el soporte técnico. Así podrá reservar más recursos y evitar que se active la limitación.

  • Monitoreo y alertas: se recomienda integrar el servicio con Create an alert rule de Simple Message Queue (formerly MNS). Consulte el uso de TPS en tiempo real de cada cola o tema en la consola de CloudMonitor (CloudMonitor console > Cloud Service Monitoring > Message Service MNS) para detectar cuándo se está alcanzando el umbral de limitación.

Preguntas frecuentes

¿El servicio solo admite 20,000 TPS?

No. 20,000 TPS es el valor garantizado predeterminado. Los TPS reales admitidos pueden ser mayores, según la carga del clúster y las capacidades de escalado elástico.

¿Por qué la limitación ocurre a veces por encima de los 20,000 TPS y otras veces no?

Cuando el servidor determina si debe activar la limitación, existe cierto margen elástico. Tome como ejemplo el umbral de limitación predeterminado de 20,000 TPS: los QPS reales que activan la limitación no equivalen estrictamente a 20,000, sino que pueden ser ligeramente superiores (por ejemplo, entre 20,000 y 20,200; este rango es solo ilustrativo, ya que el intervalo real se ajusta de forma dinámica). Sin embargo, este margen elástico no es un valor fijo. Cuando la carga del clúster es alta, el margen se reduce automáticamente y, en casos extremos, puede llegar a 0. En esa situación, la limitación se activa de inmediato al alcanzar el umbral.

Le recomendamos encarecidamente configurar alertas de valor máximo de API o de marca de agua de API para evitar que se active la limitación, ya que esto afecta el negocio al provocar fallas en el envío o la recepción de mensajes. Referencia: Create an alert rule

Valor máximo de QPS de API por minuto

MaxApiQpsPerUser

Porcentaje de marca de agua de QPS de API

WatermarkOfApiQps

Valor máximo de QPS de API de consola por minuto

MaxConsoleApiQpsPerUser

Porcentaje de marca de agua de QPS de API de consola

WatermarkOfConsoleApiQps

¿La limitación afecta el negocio?

La limitación es un mecanismo de protección contra sobrecargas del sistema diseñado para evitar que el clúster se sature por picos repentinos de tráfico, lo cual afectaría la estabilidad general. Se recomienda que los clientes adopten una estrategia de reintento con retroceso exponencial al recibir errores 429 (por ejemplo, aumentar gradualmente los intervalos a 1 s, 2 s y 4 s). De este modo, se evitan reintentos masivos inmediatos que agraven la presión.