ApsaraMQ for RabbitMQ impõe limites para clusters, caracteres e pico de tráfego de Transações Por Segundo (TPS). Para evitar erros nos programas, não ultrapasse esses limites ao usar o ApsaraMQ for RabbitMQ.
Limites de cluster
Os limites desta tabela aplicam-se à versão mais recente das instâncias.
-
Se os limites da sua instância não corresponderem aos valores desta tabela, ela pode não estar na versão mais recente. Para mais informações, abra um ticket. As seguintes restrições aplicam-se aos ajustes de limite:
Instâncias com arquitetura legada não suportam ajustes de limite: instâncias cujo ID contém apenas dígitos ou cujo endpoint de VPC não termina com
mq.amqp.aliyuncs.comnão permitem a modificação dos 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 solicitaçã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 | Compra baseada no tipo de instância. Cada instância possui uma cota gratuita de 2.000 conexões. O máximo é 10.000. | Compra baseada no 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 Abra um ticket para solicitar uma cota personalizada. Após a personalização, 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 corresponde ao menor valor 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 (Observação: Para instâncias nas regiões China (Qingdao), Japan (Tokyo) e China (Hohhot), bem como instâncias criadas antes de 1º de maio de 2025 em outras regiões, o limite é de 1 MB.) | 50 MB (Observação: Para instâncias nas regiões China (Qingdao), Japan (Tokyo) e China (Hohhot), bem como 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 adiadas | 7 dias | 7 dias Abra um ticket para solicitar uma cota personalizada. Após a personalização, 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 |
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 limita o tamanho do frame Header da mensagem a 32 KB. Esse limite não pode ser ajustado. Para evitar atingir o limite de tamanho do frame Header, inclua conteúdos grandes no Body da mensagem em vez do frame Header.
Limites de caracteres
Item | Limite |
Nome da fila |
|
Nome da exchange |
|
Nome do Vhost |
|
Chave de binding |
|
Tag de consumidor |
|
ID da mensagem |
|
Limiares de limitação de taxa
Para saber como o TPS é calculado, consulte Regras de cálculo para edições de instância Serverless e Regras de cálculo de TPS para edições de instância por assinatura.
Para resolver problemas quando o TPS sofre limitação de taxa, consulte Soluções para quando o TPS total de uma instância sofre limitação de taxa e Soluções para quando o TPS de um único nó sofre limitação de taxa.
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 solicitaçã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 por 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 solicitaçã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 solicitação de mensagens | Pagamento por capacidade provisionada e tráfego elástico | |||||
Limpeza de fila por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Criação de exchange por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Exclusão de exchange por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Criação de fila por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Exclusão de fila por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Criação de binding por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Exclusão de binding por instância |
| 500 TPS | Nenhum | 500 TPS | Nenhum | 500 TPS |
Recuperação de mensagem de instância única |
| 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 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 independentemente dentro da edição atual (por exemplo, não é possível aumentá-lo isoladamente 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, utilize estratégias de roteamento de Topic Exchange para reduzir o número total de filas ou limpe filas sem consumidores que não estejam mais em uso.
Divida o negócio entre instâncias: se sua carga de trabalho permitir, distribua parte do negócio para uma nova instância da Enterprise Edition, espalhando o uso de filas por múltiplas instâncias.
Como lidar com o erro "The channelMax limit is reached"?
Causa: O número de canais sob uma única conexão atingiu o limite channelMax da edição atual da sua instância.
Solução:
Confirme a edição atual da sua instância 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 é necessário 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" referem-se todas a este erro. Se você encontrar qualquer um desses sintomas, siga as etapas acima para diagnosticar e resolver o problema.