ApsaraMQ for RocketMQ establece límites en las cuotas de recursos, los tipos de instancia y los parámetros relacionados. Cuando utilice ApsaraMQ for RocketMQ, no exceda estos límites para evitar errores en la aplicación.
Límites de parámetros
A continuación se muestran los límites de parámetros, los cuales son fijos. Respete estas especificaciones para prevenir errores por caracteres no válidos o longitudes excesivas.
Parámetro | Valor | Descripción |
Nombre de la instancia |
| Ninguna. |
Nombre del topic |
No utilice los siguientes caracteres reservados, prefijos ni sufijos en los nombres de los topics. | Utilice caracteres cortos y comunes en los nombres de los topics. Evite los caracteres especiales, ya que pueden provocar errores de análisis sintáctico. Un nombre demasiado largo puede causar el rechazo de las operaciones con mensajes. |
Nombre de LiteTopic |
| Utilice caracteres cortos y comunes en los nombres de LiteTopic. Evite los caracteres especiales, ya que pueden provocar errores de análisis sintáctico. Un nombre demasiado largo puede causar el rechazo de las operaciones con mensajes. |
Tiempo de vida (TTL) de LiteTopic |
| Si no se escriben mensajes en un LiteTopic durante el periodo de TTL especificado, este caduca y se elimina automáticamente. El valor -1 significa que el LiteTopic nunca caduca. Solo puede establecer este parámetro cuando el tipo de mensaje es Lite. |
Nombre del grupo de consumidores |
No utilice los siguientes caracteres reservados ni prefijos en los nombres de los grupos de consumidores. | Ninguna. |
Observaciones de la instancia |
| Ninguna. |
Observaciones del topic | ||
Observaciones del grupo de consumidores | ||
Credenciales de ACL |
| Ninguna. |
Tiempo de espera de la solicitud |
| El tiempo de espera de la solicitud indica cuánto tiempo espera el cliente a que finalice una llamada síncrona. Establezca un valor adecuado para su aplicación y evite bloquear los hilos durante periodos prolongados. |
Tamaño del mensaje | Máximo: 4 MB. Este límite aplica únicamente al cuerpo del mensaje y no incluye la compresión. | Puede comprimir los mensajes y controlar el tamaño de la carga útil para evitar transferir archivos grandes. Si un mensaje supera el límite de tamaño, divídalo o utilice OSS y transfiera la URL del mensaje en su lugar. Se ofrece compatibilidad especial para tamaños de mensaje. Envíe un ticket para solicitarlo. |
Propiedades personalizadas del mensaje |
No utilice las siguientes claves reservadas como claves de propiedades personalizadas. | Ninguna. |
MessageGroup |
| MessageGroup es el identificador de grupo para los mensajes ordenados. Por lo general, se establece con el identificador de un conjunto de mensajes que deben procesarse en orden, como un ID de pedido o un ID de usuario. |
Reintentos de envío de mensajes |
| El SDK del cliente gestiona automáticamente los reintentos de envío de mensajes mediante una política integrada que no es visible para su aplicación. No establezca un valor demasiado alto para evitar bloquear los hilos de negocio. Si un mensaje sigue fallando después del número máximo de reintentos, implemente un mecanismo alternativo en su aplicación para garantizar la fiabilidad. |
Reintentos de consumo de mensajes |
| Establezca un valor razonable según sus necesidades. Evite usar los reintentos para desencadenar un bucle infinito, ya que un número excesivo aumenta significativamente la presión sobre el sistema. |
Intervalo de comprobación de resolución de transacciones |
| Este intervalo determina la frecuencia con la que el cliente productor comprueba el estado de un mensaje semitransaccional que no se confirmó debido a una excepción o a un reinicio. Evite configurar un intervalo demasiado corto, ya que las comprobaciones frecuentes pueden degradar el rendimiento del sistema. |
Hora de la primera comprobación de mensajes semitransaccionales |
| Ninguna. |
Tiempo de espera máximo para mensajes semitransaccionales |
| Si un mensaje semitransaccional no se confirma debido a un reinicio del sistema o a una excepción, el cliente productor comprueba su estado según el intervalo de comprobación de resolución de transacciones especificado. Si no se obtiene ningún resultado tras el tiempo de espera máximo, el mensaje semitransaccional se revierte de forma forzosa. Supervise esta métrica para evitar excepciones en las transacciones. |
Retraso máximo para mensajes programados |
| Puede configurar el retraso de los mensajes programados con intervalos de nivel de hora. Evite los retrasos prolongados. |
Tiempo de espera de consumo de PushConsumer |
| El servidor de ApsaraMQ for RocketMQ controla el tiempo de espera de consumo de PushConsumer. Si un consumidor no procesa un mensaje dentro de este tiempo de espera, el sistema marca el intento de consumo con errores y activa un reintento. Esto puede generar una pequeña cantidad de mensajes duplicados. |
Caché local de PushConsumer |
| Cuando el tipo de consumidor es PushConsumer, el SDK del cliente almacena algunos mensajes en la caché local para mejorar el rendimiento y la capacidad de procesamiento. La cantidad y el tamaño de los mensajes almacenados deben mantenerse dentro de los límites de la memoria del sistema. |
Intervalo de reintento de PushConsumer |
| Ninguna. |
Concurrencia de consumo de PushConsumer |
| Ninguna. |
Tamaño máximo de lote para la recuperación de mensajes |
| Este parámetro especifica el número máximo de mensajes que un consumidor puede recuperar del servidor a la vez. Establezca un valor razonable según sus necesidades. Recuperar demasiados mensajes de golpe puede generar muchas duplicaciones si el consumo falla. |
Duración máxima de invisibilidad de SimpleConsumer |
| Configure esta duración para que sea ligeramente mayor que el tiempo esperado de procesamiento de mensajes, incluidos los posibles intervalos de reintento. |
Tiempo de espera de sondeo largo del consumidor | Rango de valores: mínimo de 5 segundos y máximo de 20 segundos. Puede personalizar este valor dentro del rango especificado. | Con el sondeo largo, si no hay mensajes disponibles en el servidor, la solicitud del cliente se mantiene abierta hasta que llega un mensaje o transcurre el tiempo de espera. Este método reduce las solicitudes de sondeo vacías y disminuye la carga tanto en el cliente como en el servidor, especialmente cuando el volumen de mensajes es bajo. |
Suscripción | Límite de longitud de la expresión de filtro: 4000 caracteres (incluidos los filtros TAG y SQL). | Para obtener más información sobre las suscripciones, consulte Subscription. |
Cuotas de recursos
ApsaraMQ for RocketMQ limita métricas como las consultas por segundo (QPS) y la concurrencia para garantizar la estabilidad en producción. Estas cuotas son suficientes para la mayoría de los escenarios. Si no cubren sus requisitos de negocio, comuníquese con el soporte técnico de ApsaraMQ for RocketMQ para obtener asistencia.
Límite | Valor | Descripción | |
Instancias de suscripción y pay-as-you-go | Instancias serverless | ||
Número de instancias por región | Un máximo de 1000 instancias de todos los tipos. | Ninguna. | |
TPS de envío y recepción de mensajes por instancia | Determinado por el tipo de instancia adquirido. Para conocer los límites específicos, consulte Instance type limits. | Escalado automático | El TPS de envío y recepción de mensajes refleja la capacidad de procesamiento de la instancia. Si el TPS real supera el límite del tipo de instancia, esta se limita. Actualice el tipo de instancia a la brevedad. |
Periodo de retención de mensajes |
|
| Amplíe el periodo de retención de mensajes siempre que sus costos de almacenamiento lo permitan. Un periodo más largo otorga más tiempo para solucionar problemas y reproducir mensajes. |
Número de mensajes en tránsito por grupo de consumidores | Máximo: 2500. | Máximo: 2500. | Un número excesivo de mensajes en tránsito en un grupo de consumidores puede ralentizar las respuestas. Supervise esta métrica y resuelva la causa a la brevedad. |
Número de LiteTopics a los que se puede suscribir un solo consumidor | Máximo: 2000. | Máximo: 2000. | Suscribirse a una cantidad excesiva de LiteTopics en un solo consumidor puede degradar el rendimiento del cliente. Envíe un ticket para solicitar un aumento de este límite. |
TPS máximo de consumo por cada LiteTopic | 200 | 200 | Puede crear entre cientos de miles y millones de LiteTopics dentro de un topic. El TPS total de consumo del topic no se ve afectado. |
Limitaciones
Message Queue for RocketMQ es una plataforma como servicio (PaaS) totalmente gestionada. Para garantizar la estabilidad del sistema, restringe ciertas operaciones y funciones de alto riesgo que están disponibles en Apache RocketMQ de código abierto. Si tiene requisitos específicos, comuníquese con el soporte técnico de Message Queue for RocketMQ.
|
Limitación |
Descripción |
|
Compatibilidad con las herramientas Admin de Apache RocketMQ |
Message Queue for RocketMQ no es compatible con la API de Admin ni con la interfaz de línea de comandos (CLI) de Apache RocketMQ para gestionar instancias, topics o grupos. Si necesita gestionar recursos mediante programación, utilice Alibaba Cloud OpenAPI, que proporciona SDK multilenguaje y compatibilidad con CLI. |
|
Mensajes Request-Reply de Apache RocketMQ |
Message Queue for RocketMQ no admite el envío de mensajes Request-Reply de Apache RocketMQ. |
|
Componente Streaming de Apache RocketMQ |
Message Queue for RocketMQ no ofrece un componente Streaming de Apache RocketMQ gestionado. Puede desplegar este componente usted mismo en un entorno de Alibaba Cloud o utilizar la función de integración de datos de Message Queue for RocketMQ para lograr una integración y computación de datos ligera. |
|
Componente MQTT de Apache RocketMQ |
Message Queue for RocketMQ no ofrece un componente MQTT de Apache RocketMQ gestionado. Se recomienda utilizar el servicio ApsaraMQ for MQTT de Alibaba Cloud, que cuenta con más funciones. |
|
Componente EventBridge de Apache RocketMQ |
Message Queue for RocketMQ no ofrece un componente EventBridge de Apache RocketMQ gestionado. Se recomienda utilizar el servicio EventBridge de Alibaba Cloud, que cuenta con más funciones. |
|
Componente Apache RocketMQ-Connector |
Message Queue for RocketMQ no ofrece un componente Apache RocketMQ-Connector gestionado. Puede utilizar la función de integración de datos de Message Queue for RocketMQ para la entrada y salida de datos. |
Límites de los tipos de instancia
Las instancias Standard Edition, Single Node Edition y Professional Edition no admiten TPS elástico. Planifique el uso de recursos con anticipación para evitar que la instancia se limite cuando los picos repentinos de tráfico superen los límites de su especificación.
Las cuotas de topics y grupos por instancia son suficientes para la mayoría de los casos de uso de producción a gran escala. Como práctica recomendada, aísle sus servicios de negocio en distintas instancias según el departamento o el dominio. Esta práctica mejora la estabilidad y la gestión de recursos.
La especificación de TPS de mensajes se basa en el número total de mensajes normales enviados y recibidos, y toma como referencia un tamaño de mensaje estándar de 4 KB. Se aplica un multiplicador cuando utiliza funciones avanzadas de mensajería o envía mensajes grandes. Para obtener detalles sobre cómo se calcula el TPS, consulte Calculation specifications.
-
Si el TPS real de envío y recepción de mensajes supera el límite superior del tipo de instancia adquirido:
Si el TPS elástico está habilitado, la instancia funcionará con normalidad siempre que el TPS se mantenga dentro del rango elástico aprovisionado. El uso que supere la especificación base se factura bajo el modelo pay-as-you-go. Si el TPS sobrepasa la capacidad elástica máxima, la instancia se limitará.
Para obtener más información sobre la facturación del TPS elástico en instancias no serverless, consulte Elastic TPS Fees. Para conocer la facturación del TPS elástico en instancias serverless, consulte Serverless elastic TPS fees.
Si su instancia no admite TPS elástico o la función no está habilitada, Message Queue for RocketMQ limitará la instancia.
ImportanteComportamiento de limitación: cuando se activa la limitación, el servidor devuelve una respuesta de error para las solicitudes que superan el límite. Las solicitudes no se ponen en cola.
Riesgo de pérdida de mensajes: la limitación no descarta mensajes del lado del servidor. Sin embargo, si el cliente no cuenta con un mecanismo de reintento tras recibir una respuesta de error por limitación, el sistema no conservará el mensaje. Esto equivale a una pérdida de mensajes.
Prácticas recomendadas: configure una política de reintento de envío adecuada en el cliente. Esta política gestiona los errores de envío causados por limitaciones transitorias y garantiza la fiabilidad de los mensajes.
Una cantidad excesiva de conexiones de clientes a una instancia de Message Queue for RocketMQ consume muchos recursos del servidor y puede afectar gravemente la estabilidad. Por lo tanto, asegúrese de que el número de conexiones de clientes no supere el límite de su tipo de instancia.
Instancias de la serie serverless
Número de clientes simultáneos en línea: el total de productores y consumidores conectados. Cada uno se cuenta como un cliente.
Recuento de recursos: el número total de topics y grupos de consumidores.
Arquitectura de despliegue | Modo de capacidad | Rango de TPS | Máximo de clientes simultáneos | Cuota gratuita de clientes | Recuento máximo de recursos | Cuota gratuita de recursos | Máximo de LiteTopics |
Shared | Uso acumulativo | Todos | 5,000 | 500 | 3,000 | 100 | / |
Reservado + elástico | [2,000, 20,000] | 5,000 | 1,000 | 3,000 | 200 | ||
(20,000, 50,000] | 8,000 | 2,000 | 3,000 | 200 | |||
(50,000, 100,000] | 10,000 | 3,000 | 3,000 | 200 | |||
(100,000, 200,000] | 20,000 | 5,000 | 3,000 | 200 | |||
Dedicated | Reservado + elástico | 5,000 | 3,000 | 2,000 | 3,000 | 300 | 300,000 |
10,000 | 6,000 | 4,000 | 4,000 | 300 | 500,000 | ||
15,000 | 8,000 | 6,000 | 6,000 | 500 | 800,000 | ||
[20,000, 50,000] | 10,000 | 8,000 | 6,000 | 500 | 1,200,000 | ||
(50,000, 100,000] | 20,000 | 10,000 | 6,000 | 500 | 3,000,000 | ||
(100,000, 200,000] | 40,000 | 20,000 | 8,000 | 1,000 | 3,600,000 | ||
(200,000, 300,000] | 80,000 | 40,000 | 10,000 | 1,500 | 5,000,000 | ||
(300,000, 500,000] | 100,000 | 50,000 | 16,000 | 2,000 | 6,500,000 | ||
(500,000, 1,000,000] | 200,000 | 100,000 | 40,000 | 3,000 | 11,600,000 |
Instancias no serverless (suscripción y pay-as-you-go)
Standard edition
Subserie de la instancia | Tipo de instancia | TPS base máximo (ops/s) | TPS pico máximo (ops/s) | Máximo de conexiones | Ancho de banda de salida (Mbps) | Cuota gratuita de topics | Cuota máxima de topics | Máximo de grupos de consumidores | Máximo de LiteTopics |
Single Node Edition (ya no se comercializa) | rmq.s1.micro | 500 | No aplicable Este tipo de instancia no admite elasticidad por picos. | 2,000 | De 1 a 1000 Personalizable. | 100 | 100 | 1,000 | / |
Cluster High-availability Edition | rmq.s2.2xlarge | 2,000 | 4,000 | 300 | 50,000 | ||||
rmq.s2.4xlarge | 4,000 | 4,000 | 150,000 | ||||||
rmq.s2.6xlarge | 6,000 | 6,000 | 500 | 300,000 |
Si las cuotas de topics y grupos de consumidores de la instancia Standard Edition de nivel superior (rmq.s2.6xlarge) no son suficientes para sus necesidades de negocio, actualice a Professional Edition y seleccione un tipo de instancia adecuado.
Professional edition
Subserie de la instancia | Tipo de instancia | TPS base máximo (ops/s) | TPS pico máximo (ops/s) | Máximo de conexiones | Ancho de banda de salida (Mbps) | Cuota gratuita de topics | Cuota máxima de topics | Máximo de grupos de consumidores | Máximo de LiteTopics |
Single Node Edition (ya no se comercializa) | rmq.p1.micro | 500 | No aplicable Este tipo de instancia no admite elasticidad por picos. | 2,000 | De 1 a 1000 Personalizable. | 150 | 150 | 1,500 | / |
Cluster High-availability Edition | rmq.p2.4xlarge | 4,000 | 2,000 | 4,000 | 500 | 2,000 | 150,000 | ||
rmq.p2.6xlarge | 6,000 | 3,000 | 6,000 | 300,000 | |||||
rmq.p2.10xlarge | 10,000 | 5,000 | 10,000 | 1,000 | 500,000 | ||||
rmq.p2.20xlarge | 20,000 | 10,000 | 10,000 | 800,000 | |||||
rmq.p2.30xlarge | 30,000 | 15,000 | 12,000 | 2,000 | 1,000,000 | ||||
rmq.p2.40xlarge | 40,000 | 20,000 | 12,000 | 1,200,000 | |||||
rmq.p2.50xlarge | 50,000 | 20,000 | 14,000 | 1,400,000 | |||||
rmq.p2.100xlarge | 100,000 | 30,000 | 26,000 | 2,200,000 | |||||
rmq.p2.120xlarge | 120,000 | 40,000 | 30,000 | 2,700,000 | |||||
rmq.p2.150xlarge | 150,000 | 50,000 | 38,000 | 3,300,000 | |||||
rmq.p2.200xlarge | 200,000 | 60,000 | 50,000 | 4,500,000 |
Si las cuotas de topics y grupos de consumidores de las instancias Professional Edition de rmq.p2.10xlarge o superiores no son suficientes para sus necesidades de negocio, envíe un ticket.
Platinum edition
Subserie de la instancia | Tipo de instancia | TPS base máximo (ops/s) | TPS pico máximo (ops/s) | Máximo de conexiones | Ancho de banda de salida (Mbps) | Cuota gratuita de topics | Cuota máxima de topics | Máximo de grupos de consumidores | Máximo de LiteTopics |
Cluster High-availability Edition | rmq.u2.10xlarge | 10,000 | 5,000 | 10,000 | De 1 a 1000 Personalizable. | 200 | 3,000 | 4,000 | 600,000 |
rmq.u2.20xlarge | 20,000 | 10,000 | 10,000 | 800,000 | |||||
rmq.u2.30xlarge | 30,000 | 15,000 | 12,000 | 1,000,000 | |||||
rmq.u2.40xlarge | 40,000 | 20,000 | 10,000 | 1,200,000 | |||||
rmq.u2.50xlarge | 50,000 | 20,000 | 14,000 | 1,400,000 | |||||
rmq.u2.60xlarge | 60,000 | 22,000 | 16,000 | 1,600,000 | |||||
rmq.u2.70xlarge | 70,000 | 24,000 | 18,000 | 1,700,000 | |||||
rmq.u2.80xlarge | 80,000 | 26,000 | 20,000 | 1,800,000 | |||||
rmq.u2.90xlarge | 90,000 | 28,000 | 24,000 | 2,000,000 | |||||
rmq.u2.100xlarge | 100,000 | 30,000 | 26,000 | 2,200,000 | |||||
rmq.u2.120xlarge | 120,000 | 40,000 | 30,000 | 2,700,000 | |||||
rmq.u2.150xlarge | 150,000 | 50,000 | 38,000 | 3,300,000 | |||||
rmq.u2.200xlarge | 200,000 | 60,000 | 50,000 | 4,500,000 | |||||
rmq.u2.250xlarge | 250,000 | 70,000 | 51,000 | 5,600,000 | |||||
rmq.u2.300xlarge | 300,000 | 80,000 | 52,000 | 6,300,000 | |||||
rmq.u2.350xlarge | 350,000 | 90,000 | 53,000 | 7,500,000 | |||||
rmq.u2.400xlarge | 400,000 | 100,000 | 54,000 | 9,300,000 | |||||
rmq.u2.450xlarge | 450,000 | 120,000 | 60,000 | 10,400,000 | |||||
rmq.u2.500xlarge | 500,000 | 140,000 | 66,000 | 11,600,000 | |||||
rmq.u2.550xlarge | 550,000 | 160,000 | 72,000 | 12,800,000 | |||||
rmq.u2.600xlarge | 600,000 | 200,000 | 80,000 | 14,000,000 | |||||
rmq.u2.1000xlarge | 1,000,000 | 300,000 | 134,000 | 23,200,000 |
Si las cuotas de topics y grupos de consumidores de las instancias Platinum Edition siguen siendo insuficientes para sus necesidades de negocio, envíe un ticket.