O ApsaraMQ for RabbitMQ impõe limites para clusters, caracteres e pico de tráfego de Transações Por Segundo (TPS). Para evitar erros no programa, não ultrapasse esses limites ao usar o ApsaraMQ for RabbitMQ.
Limites de cluster
Os limites nesta tabela aplicam-se à versão mais recente das instâncias.
-
Se os limites da sua instância não corresponderem aos desta tabela, sua instância pode não estar na versão mais recente. Para mais informações, envie um ticket. As seguintes restrições aplicam-se aos ajustes de limite:
Instâncias de arquitetura legada não suportam ajustes de limite: instâncias cujo ID consiste apenas em dígitos, ou cujo endpoint de VPC não termina com
mq.amqp.aliyuncs.com, não aceitam ajustes nos limites listados abaixo.
Item | Instância Serverless | Instância por assinatura | |||
Compartilhada | Exclusiva | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | |
Pagamento por capacidade provisionada e tráfego elástico/Pagamento por requisição de mensagens | Pagamento por capacidade provisionada e tráfego elástico | ||||
Vhosts por instância | 200 | 2.000 | 200 | 4.096 | 200 |
Exchanges por instância | 6.000 | 10.000 | 6.000 | 80.000 | 6.000 |
Bindings por instância | 20.000 | 20.000 | 20.000 | Nenhum | 20.000 |
Filas por instância | 6.000 | 10.000 | 6.000 | 80.000 | 6.000 |
Conexões por instância | 10.000 | 20.000 | Adquirido conforme o tipo de instância. Cada instância possui uma cota gratuita de 2.000 conexões. O máximo é 10.000. | Adquirido conforme o tipo de instância. Cada instância possui uma cota gratuita de 50.000 conexões. O máximo é 100.000. | Número de filas × 4. O número de conexões por instância varia de 1.000 a 5.000. |
Filas por binding de exchange | 256 | 256 envie um ticket para solicitar uma cota personalizada. Após personalizar, não é possível fazer downgrade da instância para um cluster compartilhado. | 256 | 256 Para solicitar uma cota personalizada, entre em contato com o suporte técnico da Alibaba Cloud. | 256 |
Consumidores por fila | Número de filas × 4. O número de consumidores por fila varia de 800 a 5.000. | Nenhum | Número de filas × 4. O número de consumidores por fila varia de 800 a 5.000. | Nenhum | Número de filas × 4. O número de consumidores por fila varia de 50 a 5.000. |
Canais por conexão | 2.000 | 3.000 | O número de canais por conexão é o mínimo entre [Número de filas, 2048].
| 3.000 | O número de canais por conexão é 64 ou o Número de filas.
|
Tamanho da mensagem | 10 MB | 50 MB | 10 MB (Nota: Para instâncias nas regiões China (Qingdao), Japan (Tokyo) e China (Hohhot), e instâncias criadas antes de 1º de maio de 2025 em outras regiões, o limite é de 1 MB.) | 50 MB (Nota: Para instâncias nas regiões China (Qingdao), Japan (Tokyo) e China (Hohhot), e instâncias criadas antes de 1º de maio de 2025 em outras regiões, o limite é de 3 MB.) | 64 KB |
Atraso máximo para mensagens atrasadas | 7 dias | 7 dias envie um ticket para solicitar uma cota personalizada. Após personalizar, não é possível fazer downgrade da instância para um cluster compartilhado. | 7 dias | 7 dias Para solicitar personalização, entre em contato com o Suporte Técnico da Alibaba Cloud. | 24 horas |
Período máximo de retenção de mensagens | 3 dias | 3 dias | 3 dias | 3 dias | 3 dias |
Número máximo de tentativas de entrega | 16 | 16 | 16 | 64 | 16 |
Máximo: 3 horas Padrão: 5 minutos | Máximo: 12 horas Padrão: 30 minutos | Máximo: 3 horas Padrão: 5 minutos | Máximo: 12 horas Padrão: 30 minutos | Máximo: 10 minutos Padrão: 1 minuto | |
O ApsaraMQ for RabbitMQ impõe os seguintes limites fixos:
O ApsaraMQ for RabbitMQ limita o tamanho do frame Header da mensagem (correspondente ao parâmetro
channel_max_frame_size) a 32 KB. Esse limite não pode ser ajustado. Para evitar o acionamento do limite de tamanho do frame Header, inclua o conteúdo grande da mensagem no Body da mensagem, e não no frame Header.Valor máximo de
basicQospor canal: o ApsaraMQ for RabbitMQ limita o valor máximo debasicQos(também conhecido como contagem de prefetch) por canal a 100. Esse limite de QoS não pode ser ajustado. Ele ajuda a garantir a estabilidade e o desempenho do sistema, evitando o acúmulo excessivo de mensagens não confirmadas, o que poderia causar pressão na memória.
Limites de caracteres
Item | Limite |
Nome da fila |
|
Nome da exchange |
|
Nome do Vhost |
|
Chave de binding |
|
Tag do consumidor |
|
ID da mensagem |
|
Limiares de limitação de taxa
Para obter informações sobre como o TPS é calculado, consulte Calculation rules for Serverless instance editions e TPS calculation rules for subscription instance editions.
Para obter informações sobre como resolver problemas quando o TPS sofre limitação de taxa, consulte Solutions for when the total TPS of an instance is rate-limited e Solutions for when the TPS of a single node is rate-limited.
TPS total
Edição da instância | Instância Serverless | Instância por assinatura | ||||||
Especificação | Compartilhada | Exclusiva | TPS elástico desativado | TPS elástico ativado | ||||
Pagamento por capacidade provisionada e tráfego elástico/Pagamento por requisição de mensagens | Pagamento por capacidade provisionada e tráfego elástico | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | |
Limiar de limitação de taxa | Máximo de 50.000 por segundo | O dobro do pico de TPS das especificações base | Pico de TPS das especificações base | O dobro do pico de TPS das especificações base, até o máximo de 50.000 por segundo | O dobro do pico de TPS das especificações base, até o máximo de 50.000 por segundo | 1,5 vezes o pico de TPS das especificações base | ||
SendMessage de nó único
O servidor limita o TPS de SendMessage para cada nó de service de backend em uma instância. Os limiares são os seguintes:
Item | Instância Serverless | Instância por assinatura | ||||
Compartilhada | Exclusiva | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | ||
Pagamento por requisição de mensagens | Pagamento por capacidade provisionada e tráfego elástico | Pagamento por capacidade provisionada e tráfego elástico | ||||
Limiar de limitação de taxa | 25.000 por segundo | 25.000 por segundo | Nenhum | 25.000 por segundo | Nenhum | 25.000 por segundo |
Chamada de API única
Item | API | Instância Serverless | Instância por assinatura | |||
Compartilhada | Exclusiva | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | ||
Pagamento por capacidade provisionada e tráfego elástico/Pagamento por requisição de mensagens | Pagamento por capacidade provisionada e tráfego elástico | |||||
Purga de fila por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Crie exchange por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Exclua exchange por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Crie fila por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Exclua fila por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Crie binding por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Exclua binding por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Mensagem de recuperação por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Reenfileiramento de mensagens por instância |
| 20 TPS | Nenhum | 20 TPS | Nenhum | 20 TPS |
Perguntas frequentes
A Enterprise Edition suporta a expansão independente do limite de filas?
Não. O número máximo de filas por instância da Enterprise Edition é 6.000. Esse limite é uma especificação de nível de product e não pode ser expandido de forma independente na edição atual (por exemplo, não pode ser aumentado independentemente para 10.000).
Se o seu negócio exigir mais filas, considere as seguintes alternativas:
Otimize o uso de filas: consolide filas sempre que possível, use estratégias de roteamento do Topic Exchange para reduzir o número total de filas ou limpe filas que não possuem consumidores e não estão mais em uso.
Divida o negócio entre instâncias: se a sua carga de trabalho permitir, distribua parte do seu negócio para uma nova instância da Enterprise Edition para espalhar o uso de filas em várias instâncias.
Como lidar com o erro "The channelMax limit is reached"?
Causa: o número de canais em uma única conexão atingiu o limite channelMax para a edição atual da sua instância.
Solução:
Confirme a edição atual da sua instância do ApsaraMQ for RabbitMQ (Professional Edition, Enterprise Edition, Enterprise Platinum Edition, etc.).
Consulte a linha Canais por conexão na tabela Limites de cluster para encontrar o valor específico de channelMax para a edição da sua instância.
Avalie se você precisa atualizar a edição da sua instância para suportar um número maior de canais simultâneos.
As palavras-chave "channelMax", "limit is reached", "pay callback error" e "channel count limit" estão todas relacionadas a esse erro. Se você encontrar qualquer um desses sintomas, siga as etapas acima para diagnosticar e resolver o problema.
O ApsaraMQ for RabbitMQ suporta a ativação da porta de gerenciamento 15672 ou configurações personalizadas?
Não. O ApsaraMQ for RabbitMQ não suporta a ativação da porta de gerenciamento 15672 e não aceita configurações personalizadas. Por padrão, apenas a porta 5672 é exposta para comunicação do protocolo AMQP. Essa limitação aplica-se a todos os tipos de instância, incluindo instâncias Serverless e instâncias por assinatura.
Posso migrar uma instância do ApsaraMQ for RabbitMQ para um grupo de recursos diferente?
Não. As instâncias do ApsaraMQ for RabbitMQ atualmente não suportam o recurso de grupo de recursos, e o console não fornece um ponto de entrada para configure grupos de recursos.
Quantos endereços IP de vSwitch são necessários para comprar uma instância do ApsaraMQ for RabbitMQ?
A compra de uma instância geralmente exige a configuração de dois vSwitches. Como parte do planejamento de rede, cada vSwitch deve ter pelo menos 20 endereços IP reservados, totalizando o consumo de 40 endereços IP.