Kafka: O Guia Definitivo

Aleksandr Shitik
Aleksandr Shitik

Escrevo meus próprios posts e livros, e faço resenhas de filmes e livros. Especialista em cosmologia e astronomia, TI, produtividade e planejamento.

Kafka: O Guia Definitivo
Niyaz Narhid
Gêneros: Programação
Ano de publicação: 2019
Ano de leitura: 2020
Minha avaliação: Normal
Número de leituras: 1
Total de páginas: 320
Resumo (páginas): 11
Idioma original da publicação: Inglês
Traduções para outros idiomas: Russo, Chinês

Descrição Geral

Um livro de 320 páginas composto por 11 capítulos. Além do conteúdo textual, o livro inclui uma quantidade significativa de informações gráficas na forma de diagramas e gráficos, além de trechos de código incorporados. O nível de dificuldade é intermediário. Cada capítulo é complementado por um breve resumo em forma de algumas frases.

Resumo Breve

Os dois primeiros capítulos podem ser considerados introdutórios. O primeiro capítulo apresenta o Kafka: o princípio de publicação/assinatura, seu nicho e áreas de aplicação. O segundo capítulo aborda a instalação do Kafka, explicada em detalhes, desde a escolha do sistema operacional e instalação do ZooKeeper até os requisitos de memória, disco, rede e processador. Somente esses dois capítulos introdutórios representam cerca de 20% do livro inteiro.

Como o Kafka é construído com base no princípio de publicação/assinatura, é lógico que produtores e consumidores sejam discutidos logo após a instalação. Esse é o foco dos dois capítulos seguintes. É difícil avaliar definitivamente a profundidade desses tópicos, já que não sou um especialista em Kafka, mas posso destacar algumas áreas abordadas: criação e configuração de consumidores e produtores, envio síncrono e assíncrono de mensagens, serialização, garantias de entrega e trabalho com offsets.

O próximo capítulo mergulha mais fundo nos detalhes da arquitetura. São discutidos os mecanismos de replicação, o trabalho com índices, o tratamento de falhas e muito mais.

Em seguida, há um capítulo sobre a confiabilidade na entrega de dados. São abordados os princípios do ACID, com uma parte significativa dedicada à replicação e várias opções de configuração para sua implementação.

O capítulo seguinte trata da construção de pipelines de dados. Ele começa com uma discussão sobre os requisitos para tais sistemas, seguida por uma análise do Kafka Connect, o trabalho com dados do MySQL e Elasticsearch, e algumas palavras sobre alternativas ao Kafka Connect.

O capítulo posterior foca nas capacidades de replicação entre diferentes clusters do Kafka usando o MirrorMaker. São cobertos cenários de migração, backup e garantia de tolerância a falhas em nível de distribuição geográfica.

Depois, há dois capítulos sobre administração e monitoramento do Kafka. Não há necessidade de se aprofundar aqui: quem estiver interessado pode conferir por conta própria. No geral, esses capítulos não pareceram chatos nem excessivamente complexos.

Finalmente, o último capítulo é dedicado ao processamento de fluxo de dados: são abordados os conceitos básicos do Kafka Streams e a criação de aplicações para processamento de dados em tempo real.

Opinião

Um livro decente sobre Kafka. Apesar de não ter trabalhado com o Kafka antes de lê-lo, o material foi bastante compreensível e informativo. Infelizmente, muitas coisas tendem a ser esquecidas sem experiência prática, mas as anotações que fiz anteriormente ajudaram a refrescar minha memória rapidamente. Se você é um programador backend e planeja continuar crescendo como especialista, eu recomendaria a leitura deste livro, mesmo que já esteja familiarizado com outro sistema de mensagens.

Вверх