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á.
RabbitMQ 4.3
Agora, o Amazon MQ oferece suporte à versão RabbitMQ 4.3 da série de RabbitMQ 4 versões no tipo de instância mq.m7g em todos os tamanhos de instância suportados. RabbitMQO 4.3 introduz aprimoramentos na fila de quórum, novos tipos de troca e conclui a remoção de vários recursos que estavam obsoletos nas versões 4.x anteriores. Para obter mais informações sobre essa versão, consulte as notas da versão RabbitMQ 4.3.0
Importante
O Amazon MQ só oferece suporte à atualização de RabbitMQ RabbitMQ 4.2 para 4.3. Você não pode atualizar diretamente da versão RabbitMQ 3.13 para a 4.3. Se seu corretor estiver executando o RabbitMQ 3.13, você deve primeiro atualizar para RabbitMQ 4.2 antes de atualizar para 4.3.
Alterações significativas em RabbitMQ 4.3 no Amazon MQ
As seguintes alterações de código aberto podem afetar seus aplicativos ao atualizar para a RabbitMQ versão 4.3. Revise essas mudanças antes de atualizar seu corretor.
-
Filas transitórias não exclusivas são rejeitadas: declarar uma fila que não é durável e não exclusiva agora retorna um erro. O Amazon MQ for RabbitMQ 4.3 removeu o suporte para esse recurso. Em vez disso, use filas duráveis, filas exclusivas ou filas duráveis com TTL
de filas no site. RabbitMQ -
A QoS global é rejeitada: a chamada
basic.qoscomglobal=trueagora retorna um erro de canal. O Amazon MQ for RabbitMQ 4.3 removeu o suporte para esse recurso. Em vez disso, use prefetch ()global=falsepor consumidor. Para obter mais informações sobre essa alteração, consulte Remoção da QoS globalno RabbitMQ site. -
O armazenamento clássico da fila v1 foi removido: declarar uma fila com
x-queue-version=1agora retorna um erro. O Classic queue v2 é o único mecanismo de armazenamento compatível. O Amazon MQ aplica a v2 desde RabbitMQ 3.12, portanto, as filas existentes não são afetadas. -
O tempo limite do consumidor não se aplica mais às filas clássicas: as filas clássicas não avaliam mais os tempos limite do consumidor. Se um consumidor ficar preso no nível do aplicativo, RabbitMQ ele não reenviará mensagens automaticamente. A
consumer_timeoutconfiguração continua sendo aplicada às filas de quórum. Se seu aplicativo depende do tempo limite do consumidor para filas clássicas, considere migrar para filas de quórum ou implementar verificações de pulsação no nível do aplicativo. Para obter mais informações sobre essa alteração, consulte as notas da versão RabbitMQ 4.3.0no GitHub site.
Novos recursos e aprimoramentos no RabbitMQ 4.3 no Amazon MQ
-
Prioridade estrita da fila de quórum: as filas de quórum agora suportam ordenação de prioridade estrita com até 32 níveis (0—31), habilitada com o argumento de fila.
x-max-priorityHigher-priority as mensagens são sempre entregues antes das mensagens de baixa prioridade. Isso substitui a entrega baseada em proporção de 2 níveis introduzida em 4.2. RabbitMQ Para obter mais informações sobre as prioridades da fila de quórum, consulte Prioridades da fila de quórum no site.RabbitMQ -
Tentativa atrasada na fila de quórum: as filas de quórum suportam nova tentativa atrasada com aumento de recuo configurável. Você pode configurar o comportamento de nova tentativa usando argumentos de fila ou chaves de política (
delayed-retry-type,delayed-retry-min,delayed-retry-max). Para obter mais informações sobre filas de quórum, consulte Filas de quórum no site.RabbitMQ -
Tempo limite granular do consumidor para filas de quórum: o tempo limite do consumidor agora pode ser definido por consumidor, por fila ou usando uma política. Isso fornece um controle mais preciso do que a configuração anterior de todo o corretor
consumer_timeout. -
Limite de entrega alterável usando uma política: o limite de entrega da fila de quórum agora pode ser atualizado usando uma política sem exigir a redeclaração da fila.
-
Troca consistente de hash (x-modulus-hash): o tipo de
x-modulus-hashtroca agora está incorporado ao núcleo. RabbitMQ Esse tipo de troca distribui mensagens em filas vinculadas usando um hash consistente da chave de roteamento, permitindo a fragmentação da carga de trabalho sem a lógica do lado do cliente. Para obter mais informações sobre trocas de hash consistentes, consulte Troca consistente de hashno RabbitMQ site.
Importante
Se você estiver atualizando do RabbitMQ 4.2, observe a seguinte alteração na entrega de mensagens. As mensagens existentes com prioridades anteriormente mapeadas como altas (≥5) ou normais (0—4) agora são entregues usando uma ordem estrita. Como resultado, as mensagens de prioridade mais baixa podem ficar sem conteúdo, enquanto as de prioridade mais alta permanecem na fila. RabbitMQ4.2 usou a entrega baseada na proporção de 2:1, o que garantiu o progresso nas mensagens de prioridade normal.