Todos los productos
Search
Centro de documentos

ApsaraMQ for RocketMQ:Apagado controlado

Última actualización: Sep 04, 2026

El apagado controlado es una función integrada de ApsaraMQ for RocketMQ que evita la pérdida de mensajes y los errores del cliente durante las operaciones del lado del servidor. Cuando el servidor experimenta lanzamientos de versiones, reinicios o mantenimiento, ApsaraMQ for RocketMQ activa mecanismos de protección para evitar desconexiones abruptas del cliente y garantizar la continuidad del negocio.

Mecanismos de protección

Suspensión de escritura en el servidor

Antes de que se reinicie un nodo de almacenamiento, el servidor suspende temporalmente las operaciones de escritura hacia ese nodo. El reinicio continúa solo cuando ya no se escriben mensajes nuevos en el nodo. Esto garantiza que todos los mensajes enviados previamente por los clientes se almacenen correctamente.

Drenaje de conexiones mediante GOAWAY

El servidor de ApsaraMQ for RocketMQ utiliza la trama GOAWAY definida en el protocolo HTTP/2 para cerrar conexiones de forma controlada o notificar a los clientes que las conexiones están por cerrarse. Este mecanismo coordina la finalización de conexiones entre el servidor y los clientes, evita que se interrumpan las solicitudes en curso y asegura la estabilidad del sistema.

Efectos

  • Productores: todas las solicitudes de envío de mensajes se procesan correctamente. No ocurren fallos de envío durante el proceso de apagado controlado.

  • Consumidores: la mayoría de los mensajes se consumen correctamente. En casos poco frecuentes, un pequeño número de mensajes acumulados en el nodo de almacenamiento que se reinicia podría reenviarse debido a fallos en la confirmación del desplazamiento del consumidor durante la transición.

Requisitos de versión del SDK

Para utilizar el apagado controlado, el SDK de su cliente debe cumplir con a continuación requisitos de versión mínima:

Lenguaje

Versión mínima

Referencia

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

Notas de uso

  • No se requiere configuración del lado del cliente: el apagado controlado es una función del servidor. Solo actualice el SDK de su cliente a una versión compatible.

  • Diseñe los consumidores para idempotencia: las confirmaciones de desplazamiento del consumidor pueden fallar durante el breve periodo de transición, lo cual puede provocar que se reenvíe un pequeño número de mensajes. Asegúrese de que la lógica de su consumidor pueda procesar de forma segura el mismo mensaje más de una vez.

  • Supervise proactivamente las versiones del SDK: al agregar nuevos servicios o actualizar dependencias, compruebe que el SDK del cliente de ApsaraMQ for RocketMQ aún cumpla con los requisitos de versión mínima para el apagado controlado.