Bom pessoal, e agora a gente vai falar sobre Schema Registry. E tem tudo a ver com a parte de compatibilidade de Schema. Essa imagem aqui é uma imagem do funcionamento da Confluent Schema Registry. A Confluent Schema Registry é um Schema Registry que é utilizado em conjunto com o Apache Kafka. E você vai entender o porquê que isso é importante e faz bastante diferença para quem vai trabalhar. O que esse cara faz, galera? Olha só que interessante. Aqui você tem o Kafka, ou seja, você publica mensagens no Kafka e lê mensagens no Kafka. Ou seja, eu pego esses dados, mando para o Kafka e recebo esses dados aqui que são enviados para o Kafka. O grande ponto aqui para a gente é o seguinte. Você consegue ter um serviço aqui chamado Schema Registry. O que esse Schema Registry faz? esquema registro e faz você cria um registro ou seja você cria um padrão de mensagem esse padrão normalmente ele pode ser feito no padrão avro tá é uma espécie de um json mas que antes de trazer os dados ele fala quais são os tipos dos dados você consegue trabalhar com o protobuf ou seja protocol buffer tá que ele vai mostrar pra você qual é o esquema do envio das mensagens ou no formato de som o que isso significa que eu crio uma versão do esquema e daí o que vai acontecer quando eu vou enviar a mensagem tá o meu produtor é quem vai enviar a mensagem vai ler o esquema ele vai pegar o id de esquema e vai mandar mensagem tá o que vai acontecer nesse momento o apache cá fica aqui pra ele aceitar essa mensagem ele vai saber que o formato dos dados tem que estar exatamente no formato do ID daquele esquema, tá? Ou seja, tem que estar baseado naquele esquema. Se não estiver baseado naquele esquema, ele não vai deixar essa mensagem ser enviada, legal? O grande ponto também é que para que o seu producer, né, o seu produtor não tenha que ficar para cada mensagem o seu produtor não tem que ficar para cada mensagem lendo esse esquema ele vai gravar localmente num cache para que ele não precisa ficar enviando a todo momento legal então isso aqui é bem importante do outro lado tá o consumidor ele faz a mesma coisa ele lê o esquema ele vai receber os dados ali e agora ele sabe qual é o padrão dos dados que ele vai ter que serializar para ele conseguir processar a informação. Legal? Então isso é bem interessante. E aí o que acontece? Vamos imaginar que esse esquema evoluiu. Então o que vai acontecer? Que simplesmente vai ser gerada uma versão 2 aqui. Quando o produtor for mandar a mensagem, o ID que ele vai mandar é o ID 2, o Kafka já vai saber qual que é o formato e o consumidor também vai saber qual é o formato. Então, trabalhar com o Schema Registry é bastante interessante, porque ele vai poupar um bom tempo e vai poupar com que você tenha brigas entre aspas, entre times. Todo mundo colocou os esquemas lá no registry e todo mundo vai seguir. Quando surgir um novo esquema, gera, bota lá no registry e todo mundo vai seguir também. Então isso aqui é bem interessante, galera. Faz um baita sentido a essa utilização a agora nem todo mundo consegue trabalhar com esquema registro dessa forma então o que eu recomendo sempre você fazer quando você não tem isso você fazer o seguinte cria um repositório tá e nomeie e crie os esquemas para você conseguir trabalhar. E você vai falar o seguinte, galera, isso aqui é o nosso contrato, todo mundo que for trabalhar, baixa esse repositório e utiliza esse contrato aqui. Legal? Então, pelo menos, os dados não ficam soltos eles ficam é eles ficam organizados dentro de um padrão e todo mundo vai ficar mais a feliz e contente obviamente com esquema regis se você tem ali essas diversas vantagens que eu acabei de falar no esquema regis quando você vai criar um esquema você consegue escolher o tipo de compatibilidade também tá então isso aí é bem interessante na hora que você for trabalhar e basicamente é isso pessoal então tomem muito cuidado porque tudo que gera desacoplamento entre sistemas né ou tudo que a gente fala como dados entre sistemas quando a gente trabalha com sistemas distribuídos a gente vai ter sempre esse entrave aí no meio, que são os padrões que vão evoluindo com o longo do tempo. Então, os esquemas Registry vão te ajudar. Vamos nessa!