Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • UX e Design
  • Outros
  • Todos
  • Inteligência Artificial
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Kafka e Schema Registry Modelagem de eventos com robustez e segurança

    Rodrigo Vieira Pinto
    Livro de Kafka e Schema Registry

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    Em sistemas distribuídos, manter produtores e consumidores em sintonia quanto à estrutura das mensagens é um desafio recorrente. É nesse cenário que o Schema Registry se destaca, permitindo a evolução segura dos contratos entre serviços.

    Neste livro, Rodrigo Vieira Pinto ensina como aplicar o Schema Registry na prática, criando produtores e consumidores Kafka com os formatos JSON Schema, Avro e Protobuf. Você vai explorar os principais endpoints da ferramenta e fazer a integração com o Kafka Connect para facilitar a comunicação com sistemas legados e fontes de dados externas. Com exemplos práticos e bem estruturados, o livro cobre desde a definição dos esquemas até sua aplicação em pipelines reais, sempre com foco em robustez e manutenibilidade. Tudo isso com o suporte de testes automatizados, para garantir qualidade e confiança ao longo do desenvolvimento.

    Assista à live com o autor aqui

    Saiba o que você vai aprender

     

    Sumário

    • 1 O Alura Eats - um novo delivery de comida
    • 1.1 Ferramentas a serem instaladas
    • 1.2 Códigos usados por todo o livro
    • 2 Sem controle, sem garantia: a falta que o Schema Registry faz
    • 2.1 Mensagens sem contrato definido e seus problemas
    • 2.2 O Schema Registry
    • 2.3 Inserindo o Schema Registry na nossa solução
    • 2.4 Inserindo um schema para a mensagem
    • 2.5 Inserindo um schema para a chave da mensagem
    • 2.6 Assincronia dos testes de envio de mensagens e sua correção com Awaitility
    • 2.7 Mas e o consumidor?
    • 2.8 Diferenças entre o JsonSerializer e o KafkaJsonSchemaSerializer
    • 2.9 Resumo
    • 3 Explorando a API do Schema Registry: Endpoints, Subjects e Schemas
    • 3.1 O subject e seus schemas
    • 3.2 Cadastrando schemas
    • 3.3 Listando schemas
    • 3.4 Outras buscas
    • 3.5 Remoção soft e hard de schemas
    • 3.6 Remoção soft e hard de subjects
    • 3.7 Resumo
    • 4 Implementando Schema Registry no consumidor de mensagens
    • 4.1 O ms-pedidos em detalhe
    • 4.2 De JsonDeserializer para KafkaJsonSchemaDeserializer
    • 4.3 As constantes JSON_KEY_TYPE e JSON_VALUE_TYPE de KafkaJsonSchemaDeserializerConfig
    • 4.4 Corrigindo os testes
    • 4.5 Tipos primitivos nos atributos das mensagens e seus problemas
    • 4.6 Resumo
    • 5 O Avro como formato de mensagens
    • 5.1 Os problemas do formato JSON, e o Avro como solução
    • 5.2 Realização de pedidos no ms-pedidos
    • 5.3 Implementação do formato Avro na comunicação entre os microsserviços usando AVSC (Avro Schema)
    • 5.4 O plugin avro-maven-plugin
    • 5.5 O protocolo SOAP (Simple Object Access Protocol)
    • 5.6 Cadastro de schemas no Schema Registry
    • 5.7 Resumo
    • 6 Consumidores de mensagens Avro e o AVDL
    • 6.1 Automação do cadastro do schema do tópico de pedidos
    • 6.2 Integração entre o ms-pedidos e o ms-entregadores
    • 6.3 Geração de stubs Avro e implementação do consumidor de pedidos no ms-entregadores
    • 6.4 O Avro IDL (Interface Definition Language)
    • 6.5 Geração de stubs Avro a partir de schemas AVDL
    • 6.6 Cadastro do schema no Schema Registry e o avro-tools
    • 6.7 Implementação do produtor de mensagens
    • 6.8 Resumo
    • 7 Avançando com Schema Registry: Modos de compatibilidade, tipos lógicos do Avro e customizações
    • 7.1 Idempotência das APIs do Schema Registry
    • 7.2 Enviando mensagens sem aval do Schema Registry
    • 7.3 Tipos lógicos no Avro
    • 7.4 Modos de compatibilidade entre schemas de mesmo subject
    • 7.5 A inclusão do preço nos itens de cardápio
    • 7.6 Um desserializador de mensagens customizado - obtendo o Schema ID nas mensagens e a última versão de schema de um subject
    • 7.7 A propriedade USE_LATEST_VERSION e boas práticas associadas
    • 7.8 Resumo
    • 8 O Protobuf como formato de mensagens
    • 8.1 O formato Protobuf
    • 8.2 Notificando os restaurantes do despacho dos entregadores aos destinos: o ms-notificacoes
    • 8.3 Compilação de arquivos .proto usando o utilitário protoc
    • 8.4 O plugin protobuf-maven-plugin e a compilação usando Maven
    • 8.5 O KafkaProtobufSerializer
    • 8.6 Suporte do Avro Schema Merger a arquivos .proto
    • 8.7 KafkaProtobufDeserializer, o KafkaProtobufDeserializerConfig.SPECIFIC_PROTOBUF_VALUE_TYPE e o consumo das notificações pelo ms-restaurantes
    • 8.8 Resumo
    • 9 Integração com o Kafka Connect
    • 9.1 Consulta aos pedidos realizados
    • 9.2 O Kafka Connect
    • 9.3 Envio dos pedidos realizados para o tópico de auditoria usando o Kafka Connect
    • 9.4 Kafka Connect e Schema Registry: uma relação baseada em compatibilidade
    • 9.5 Resumo
    • 10 Conclusão
    • 11 Bibliografia

    Autor

    Rodrigo Vieira Pinto

    Rodrigo Vieira Pinto é mestre em Engenharia de Software pelo IPT-SP (Instituto de Pesquisas Tecnológicas de São Paulo) e pós-graduado em Engenharia de Software pela PUC-SP (Pontifícia Universidade Católica-SP). Possui cerca de 26 anos de experiência em desenvolvimento de sistemas em Java, PHP e Ruby, passando também pela linguagem C. Já trabalhou com servidores de aplicação como JBoss e Websphere, usando frameworks como EJB 2 e 3, JSP/Servlet, JSF e Hibernate (e ficou feliz quando o Spring Boot surgiu). Gosta muito de paradigmas de programação, padrões de projeto, testes automatizados, de código simples que funciona e de compartilhar conhecimento. Ministra aulas de programação desde 2018, tanto em cursos livres quanto em faculdades, passando por Caelum, Grupo Alura, SPTech (São Paulo Tech School) e FIAP (Faculdade de Informática e Administração Paulista). Atualmente é Chapter Lead de Arquitetura e Backend da VR Benefícios e professor da disciplina de Domain-Driven Design with Java na FIAP.

    Dados do produto

    Número de páginas:
    274
    ISBN:
    978-85-5519-402-3
    Data publicação:
    07/2025
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de Kafka Connect e Kafka Streams
    Kafka Connect e Kafka Streams
    +
    Livro de Apache Kafka
    Apache Kafka e Spring Boot
    altLogoFooter

    Uma empresa do Grupo Alun

    Logo da Alun

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alun

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev