Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Graceful shutdown

Última atualização: Oct 09, 2026

O graceful shutdown é um recurso nativo do ApsaraMQ for RocketMQ que evita a perda de mensagens e erros no cliente durante operações no servidor. Quando o servidor passa por lançamentos de versões, reinicializações ou manutenções, o ApsaraMQ for RocketMQ ativa mecanismos de proteção para evitar desconexões abruptas dos clientes e garantir a continuidade dos negócios.

Mecanismos de proteção

Suspensão de gravação no servidor

Antes de reiniciar um nó de armazenamento, o servidor suspende temporariamente as operações de gravação nesse nó. A reinicialização só prossegue quando não há mais novas mensagens sendo gravadas no nó. Isso garante que todas as mensagens já enviadas pelos clientes sejam armazenadas com sucesso.

Drenagem de conexão via GOAWAY

O servidor do ApsaraMQ for RocketMQ utiliza o frame GOAWAY, definido no protocolo HTTP/2, para fechar conexões de forma controlada ou notificar os clientes de que as conexões estão prestes a ser encerradas. Esse mecanismo coordena o encerramento das conexões entre o servidor e os clientes, evita a interrupção de requisições em andamento e garante a estabilidade do sistema.

Efeitos

  • Produtores — Todas as requisições de envio de mensagens são processadas com sucesso. Nenhuma falha de envio ocorre durante o processo de graceful shutdown.

  • Consumidores — A maioria das mensagens é consumida com sucesso. Em casos raros, um pequeno número de mensagens acumuladas no nó de armazenamento em reinicialização pode ser reentregue, pois as confirmações de offset do consumidor podem falhar durante a transição.

Requisitos de versão do SDK

Para usar o graceful shutdown, o SDK do seu cliente deve atender aos seguintes requisitos de versão mínima:

SDK for JavaSDK for JavaSDK for GoSDK for PythonSDK for C++SDK for C#

Idioma

Versão mínima

Referência

Java (protocolo gRPC)

5.0.7

SDK para Java

Java (protocolo Remoting)

5.3.1

SDK para Java

Go

5.1.0-rc.1

SDK para Go

Python

5.0.4

SDK para Python

C++

5.0.2

SDK para C++

C#

5.1.0

SDK para C#

Node.js

1.0.1

SDK para Node.js

Notas de uso

  • Nenhuma configuração no cliente é necessária — O graceful shutdown é um recurso do servidor. Atualize o SDK do seu cliente para uma versão compatível.

  • Projete os consumidores para idempotência — As confirmações de offset do consumidor podem falhar durante o breve período de transição, o que pode causar a reentrega de um pequeno número de mensagens. Garanta que a lógica do seu consumidor possa processar a mesma mensagem mais de uma vez com segurança.

  • Monitore as versões do SDK proativamente — Ao adicionar novos serviços ou atualizar dependências, verifique se o SDK do cliente ApsaraMQ for RocketMQ ainda atende aos requisitos de versão mínima para o graceful shutdown.