As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Diretrizes de dimensionamento do Amazon MQ para RabbitMQ
Você pode escolher o tipo de instância do broker que melhor oferece suporte ao seu aplicativo. Ao escolher um tipo de instância, é importante considerar os fatores que afetarão o desempenho do corretor:
-
o número de clientes e filas
-
o volume de mensagens enviadas
-
mensagens mantidas na memória
-
mensagens redundantes
Tipos menores de instância de broker (t3.micro
) são recomendados somente para testar o desempenho do aplicativo. Recomendamos tipos de instância de broker maiores (m5.large
e superiores) para níveis de produção de clientes e filas, alta taxa de transferência, mensagens na memória e mensagens redundantes.
É importante testar seus corretores para determinar o tipo e o tamanho de instância apropriados para seus requisitos de mensagens de carga de trabalho. Use as diretrizes de dimensionamento a seguir para determinar o tipo de instância mais adequado para seu aplicativo.
Diretrizes de dimensionamento para implantação em uma única instância
A tabela a seguir mostra os valores-limite máximos para cada tipo de instância para agentes de instância única.
Tipo de instância | Conexões | Canais | Filas | Consumidores por canal | Pás |
---|---|---|---|---|---|
t3.micro | 500 | 1.500 | 2.500 | 1.000 | 150 |
m5.large | 5.000 | 15.000 | 30.000 | 1.000 | 250 |
m5.xlarge | 10.000 | 30.000 | 60.000 | 1.000 | 500 |
m5.2xlarge | 20.000 | 60.000 | 120.000 | 1.000 | 1.000 |
m5.4xlarge | 40.000 | 120.000 | 240.000 | 1.000 | 2.000 |
Diretrizes de dimensionamento para implantação de clusters
A tabela a seguir mostra os valores-limite máximos para cada tipo de instância para agentes de cluster.
Tipo de instância | Filas | Consumidores por canal |
---|---|---|
m5.large | 10.000 | 1.000 |
m5.xlarge | 15.000 | 1.000 |
m5.2xlarge | 20.000 | 1.000 |
m5.4xlarge | 30.000 | 1.000 |
Os seguintes limites de conexão, canal e escavadeira são aplicados por nó.
Tipo de instância | Conexões | Canais | Pás |
---|---|---|---|
m5.large | 500 | 15.000 | 50 |
m5.xlarge | 10.000 | 30.000 | 100 |
m5.2xlarge | 20.000 | 60.000 | 200 |
m5.4xlarge | 40.000 | 120.000 | 400 |
Os valores limite exatos para um agente de cluster podem ser menores do que o valor indicado, dependendo do número de nós disponíveis e de como o RabbitMQ distribui recursos entre os nós disponíveis. Se você exceder os valores limite, poderá criar uma nova conexão com um nó diferente e tentar novamente, ou poderá atualizar o tamanho da instância para aumentar os limites máximos.
Mensagens de erro
As mensagens de erro a seguir são retornadas quando os limites são excedidos. Todos os valores são baseados nos limites de m5.large
uma única instância.
nota
Os códigos de erro das mensagens a seguir podem mudar com base na biblioteca cliente que você está usando.
Conexão
ConnectionClosedByBroker 500 "NOT_ALLOWED - connection refused: node connection limit (500) is reached"
Channel (Canal)
ConnectionClosedByBroker 1500 "NOT_ALLOWED - number of channels opened on node
'rabbit@ip-10-0-23-173.us-west-2.compute.internal' has reached the maximum allowed limit of (15,000)"
Consumidor
ConnectionClosedByBroker: (530, 'NOT_ALLOWED - reached maximum (1,000) of consumers per channel')
nota
As mensagens de erro a seguir usam o API formato HTTP de gerenciamento.
Queue (Fila)
{"error":"bad_request","reason":"cannot declare queue 'my_queue': queue limit in cluster (30,000) is reached"}]
Pá
{"error":"bad_request","reason":"Validation failed\n\ncomponent shovel is limited to 250 per node\n"}
Vhost
{"error":"bad_request","reason":"cannot create vhost 'my_vhost': vhost limit of 4,000 is reached"}