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.