Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Graceful shutdown

Última atualização: Jun 27, 2026

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

Mecanismos de proteção

Suspensão de escrita no servidor

Antes de reinicializar um nó de armazenamento, o servidor suspende temporariamente as operações de escrita nesse nó. A reinicialização prossegue apenas após cessarem as gravações de novas mensagens. Isso garante o armazenamento bem-sucedido de todas as mensagens já enviadas pelos clientes.

Drenagem de conexões via GOAWAY

O servidor do ApsaraMQ for RocketMQ usa o frame GOAWAY, definido no protocolo HTTP/2, para fechar conexões de forma controlada ou notificar os clientes sobre um fechamento iminente. Esse mecanismo coordena o encerramento das conexões entre servidor e clientes, evita a interrupção de requisições em andamento e assegura a estabilidade do sistema.

Efeitos

  • Produtores — O sistema processa com sucesso todas as requisições de envio de mensagens. Nenhuma falha de envio ocorre durante o processo de desligamento graceful.

  • Consumidores — A maioria das mensagens é consumida normalmente. Em casos raros, um pequeno volume de mensagens acumuladas no nó de armazenamento em reinicialização pode ser reentregue se a confirmação do offset do consumidor falhar durante a transição.

Requisitos de versão do SDK

Para usar o desligamento graceful, o SDK do cliente deve atender aos seguintes requisitos mínimos de versão:

Linguagem

Versão mínima

Referência

Java (protocolo gRPC)

5.0.7

SDK for Java

Java (protocolo Remoting)

5.3.1

SDK for Java

Go

5.1.0-rc.1

SDK for Go

Python

5.0.4

SDK for Python

C++

5.0.2

SDK for C++

C#

5.1.0

SDK for C#

Node.js

1.0.1

SDK for Node.js

Observações de uso

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

  • Projete consumidores idempotentes — A confirmação do offset do consumidor pode falhar durante o breve período de transição, o que pode causar a reentrega de algumas mensagens. Garanta que a lógica do seu consumidor processe a mesma mensagem mais de uma vez com segurança.

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