Skip to content

Avro e Schema Registry ​

Adicione um Schema Registry a um broker Kafka (veja Conectar nos brokers) e o Marshall decodifica mensagens Avro no formato da Confluent: um byte zero, depois o id do schema em 4 bytes, depois o registro.

O que você vê ​

Os registros decodificados aparecem como JSON, então tudo o que funciona com JSON funciona com eles: a visão dos autos, a objeção de formato e a busca.

  • Records, enums, arrays, maps, unions, fixed e tipos nomeados são decodificados.
  • Os tipos lógicos aparecem legíveis: timestamps como datas ISO 8601, decimais como o número que são.

Cada schema é buscado uma vez pelo id e guardado; um schema que o registry não tem também é lembrado, para um tópico cheio de um id desconhecido não martelar o registry.

Quando não dá para decodificar ​

Cada falha tem nome, porque cada uma manda você para um lugar diferente:

FalhaOlhe
Não configuradoO broker não tem URL de registry
InacessívelA URL, a rede
Não autorizadoO usuário e a senha do registry
Não encontradoO id do schema não está nesse registry
Schema inválidoO registry devolveu um schema que o Marshall não consegue ler

Mensagens que não deram para decodificar não entram na busca como texto e nunca são mandadas para o Pergunte ao seu tópico.

Limites ​

  • Só Avro. Protobuf e JSON Schema do registry ainda não são decodificados.
  • O Marshall não recodifica Avro ao produzir. Protocolar um registro decodificado como cópia corrigida é recusado, porque colocaria JSON num tópico que todo consumidor lê como Avro.

O Marshall MQ é gratuito para uso pessoal e comercial.