Todos los productos
Search
Centro de documentos

ApsaraMQ for Kafka:¿Por qué no se recomienda el cliente Sarama Go?

Última actualización: Sep 24, 2026

Descripción del problema

El cliente Sarama Go presenta los siguientes problemas conocidos de compatibilidad con ApsaraMQ for Kafka que pueden afectar la producción y el consumo de mensajes:

  • Las particiones nuevas no se detectan automáticamente. Cuando agrega particiones a un tema, es posible que el cliente no las detecte ni consuma mensajes de ellas hasta que lo reinicie.

  • Comportamiento fuera del estándar del protocolo. El cliente Sarama Go no cumple por completo con los estándares del protocolo de Apache Kafka. Durante las excepciones del broker, esto puede provocar lo siguiente:

    • Restablecimiento inesperado del desplazamiento (mecanismo OutOfRange). Si auto.offset.reset se establece en Oldest(earliest), el cliente podría volver a consumir todos los mensajes desde el desplazamiento más antiguo, lo que genera un procesamiento duplicado a gran escala.

    • Estado de Rebalance persistente. El cliente puede quedarse atascado en el estado de Rebalance y dejar de consumir mensajes.

Solución

<!--@div {"id":"step_7xf_use_xkj","data-tag="step"}-->

Actualice el cliente Sarama Go a la versión 1.41.0 o posterior, o bien reemplácelo por un cliente Go de Confluent.

Hay una demostración del cliente Go de Confluent disponible en kafka-confluent-go-demo.

Importante

Si no puede reemplazar el cliente de inmediato, reduzca el riesgo con estas medidas:

  • Configure adecuadamente la política de restablecimiento del desplazamiento del consumidor. En entornos de producción, establezca auto.offset.reset en Newest(latest). Use Oldest(earliest) únicamente en entornos de depuración o cuando resulten aceptables los mensajes duplicados a gran escala.

  • Restablezca los desplazamientos del consumidor desde la consola si se acumula un retraso. Si un restablecimiento de desplazamiento provoca un retraso significativo de mensajes, restablézcalo a un momento específico desde la consola de ApsaraMQ for Kafka. No se requieren cambios en el código ni modificaciones en el grupo de consumidores. Reset consumer offsets.