Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece dicas de solução de problemas que você pode encontrar ao usar os Hubs de Eventos para Apache Kafka.
Exceção de servidor ocupado
Você pode ver métricas ThrottledRequests devido à limitação do Kafka. Com clientes AMQP, os Hubs de Eventos retornam imediatamente uma exceção de servidor ocupado na limitação de serviço. É equivalente a uma mensagem "tente novamente mais tarde". No Kafka, as mensagens de entrada são atrasadas antes de serem reconhecidas, enquanto as mensagens de saída terão entrega atrasada. O comprimento do atraso é retornado em milissegundos como throttle_time_ms na resposta de produzir/buscar. Na maioria dos casos, essas solicitações atrasadas não são registradas como métricas ThrottledRequests nos painéis dos Hubs de Eventos. Em vez disso, o valor throttle_time_ms da resposta deve ser usado como um indicador de que a taxa de transferência excedeu a cota provisionada.
Se o tráfego for excessivo, o serviço terá o seguinte comportamento:
- Se o atraso da solicitação de produção exceder o tempo limite da solicitação (request.timeout.ms), os Hubs de Eventos retornarão o código de erro de Violação de Política .
- Se o atraso da solicitação de busca exceder o tempo limite da solicitação, os Hubs de Eventos registrarão a solicitação como limitada e responderão com um conjunto vazio de registros e nenhum código de erro.
Nenhum registro recebido
Você pode ver consumidores não obtendo nenhum registro e constantemente redistribuindo. Nesse cenário, os consumidores não obtêm nenhum registro e se redistribuem constantemente. Não há exceção ou erro quando isso acontece, mas os logs do Kafka mostrarão que os consumidores estão presos tentando reingressar no grupo e atribuir partições. Há algumas causas possíveis:
- Verifique se o
request.timeout.mstem no mínimo o valor recomendado de 60000 e osession.timeout.mstem no mínimo o valor recomendado de 30000. Ter essas configurações muito baixas pode resultar em tempo de espera excedido para o consumidor, o que provoca rebalanceamentos (que então causam mais tempos de espera excedidos, o que provoca mais rebalanceamentos e assim por diante). - Se sua configuração corresponder a esses valores recomendados e você ainda estiver vendo o reequilíbrio constante, fique à vontade para abrir um problema (certifique-se de incluir toda a configuração no problema para que possamos ajudar a depurar).
Problema de versão de formato de mensagem/compactação
Atualmente, os Hubs de Eventos para Kafka dão suporte apenas ao gzip algoritmo de compactação. Se qualquer outro algoritmo for usado, os aplicativos cliente verão um erro de versão em formato de mensagem (por exemplo, The message format version on the broker does not support the request.).
Se um algoritmo de compactação sem suporte precisar ser usado, compactar seus dados com esse algoritmo específico antes de enviá-los aos agentes e descompactar após o recebimento será uma solução alternativa válida. O corpo da mensagem é apenas uma matriz de bytes para o serviço. Portanto, a compactação/descompactação do lado do cliente não causará problemas.
UnknownServerException
Você pode receber um UnknownServerException de bibliotecas de clientes do Kafka semelhante ao exemplo a seguir:
org.apache.kafka.common.errors.UnknownServerException: The server experienced an unexpected error when processing the request
Abra um tíquete com o Suporte da Microsoft. O log de nível de depuração e os carimbos de data/hora de exceção em UTC são úteis para depurar o problema.
Outros problemas
Verifique os itens a seguir se você encontrar problemas ao usar o Kafka nos Hubs de Eventos.
- Firewall bloqueando o tráfego – verifique se a porta 9093 não está bloqueada pelo firewall.
- TopicAuthorizationException – as causas mais comuns dessa exceção incluem:
- Um erro de grafia na cadeia de conexão no arquivo de configuração ou
- Tentar usar os Hubs de Eventos para Kafka em um namespace de camada Básica. Não há suporte para os Hubs de Eventos para Kafka na camada de serviço básica.
- Incompatibilidade de versão do Kafka – Hubs de Eventos para ecossistemas Kafka dão suporte às versões 1.0 e posteriores do Kafka. Alguns aplicativos que usam o Kafka versão 0.10 e posterior podem ocasionalmente funcionar devido à compatibilidade com versões anteriores do protocolo Kafka, mas é altamente recomendável não usar versões antigas da API. As versões 0.9 e anteriores do Kafka não dão suporte aos protocolos SASL necessários e não podem se conectar aos Hubs de Eventos.
- Codificações estranhas em cabeçalhos AMQP ao consumir com Kafka – ao enviar eventos para um hub de eventos em AMQP, quaisquer cabeçalhos de payload AMQP são serializados na codificação AMQP. Os consumidores do Kafka não desserializam os cabeçalhos do AMQP. Para ler os valores de cabeçalho, decodifique manualmente os cabeçalhos do AMQP. Como alternativa, você pode evitar o uso de cabeçalhos AMQP se souber que está consumindo por meio do protocolo Kafka. Saiba mais neste tópico do GitHub.
- Autenticação SASL – obter sua estrutura para cooperar com o protocolo de autenticação SASL exigido pelos Hubs de Eventos poderá ser mais difícil do que parece. Confira se você pode solucionar problemas de configuração usando os recursos da estrutura na autenticação SASL.
limites
Apache Kafka vs. Hubs de Eventos do Kafka. Na maior parte, a interface Kafka dos Hubs de Eventos do Azure tem os mesmos padrões, propriedades, códigos de erro e comportamento geral que o Apache Kafka. As instâncias que esses dois diferem explicitamente (ou em que os Hubs de Eventos impõem um limite que o Kafka não impõe) estão listadas aqui:
- O comprimento máximo da propriedade
group.idé de 256 caracteres - O tamanho máximo é de
offset.metadata.max.bytes1.024 bytes - As confirmações de deslocamento são limitadas a 2 chamadas/segundo por partição com um tamanho máximo de log interno de 1 MB
Próximas etapas
Para saber mais sobre os Hubs de Eventos e Hubs de Eventos para o Kafka, confira os artigos a seguir: