Todos os produtos
Search
Central de documentação

ApsaraMQ for Kafka:Por que o cliente Sarama Go não é recomendado?

Última atualização: Jun 27, 2026

Descrição do problema

O cliente Sarama Go apresenta os seguintes problemas conhecidos de compatibilidade com o ApsaraMQ for Kafka que podem afetar a produção e o consumo de mensagens:

  • Novas partições não são detectadas automaticamente. Ao adicionar partições a um tópico, o cliente pode não as detectar ou consumir até a reinicialização.

  • Comportamento de protocolo fora do padrão. O cliente Sarama Go não está em total conformidade com os padrões do protocolo Apache Kafka. Durante exceções no broker, isso pode causar:

    • Redefinição inesperada de offset (mecanismo OutOfRange). Se auto.offset.reset estiver definido como Oldest(earliest), o cliente poderá reprocessar todas as mensagens desde o offset mais antigo e resultar em duplicação em larga escala.

    • Estado de Rebalance persistente. O cliente pode ficar preso no estado de Rebalance e parar de consumir mensagens.

Solução

Substitua o cliente Sarama Go pelo cliente Confluent Go.

Um exemplo de cliente Confluent Go está disponível em kafka-confluent-go-demo.

Importante

Caso não seja possível substituir o cliente imediatamente, reduza os riscos com estas medidas:

  • Configure adequadamente a política de redefinição de offset do consumidor. Em produção, defina auto.offset.reset como Newest(latest). Use Oldest(earliest) apenas em ambientes de depuração ou quando a duplicação de mensagens em larga escala for aceitável.

  • Redefina os offsets do consumidor pelo console em caso de acúmulo. Se uma redefinição de offset causar acúmulo significativo de mensagens, redefina o offset do consumidor para um ponto específico no tempo diretamente no console do ApsaraMQ for Kafka. Não é necessário alterar o código ou modificar o grupo de consumidores. Redefinir offsets do consumidor.