Descripción general
Un libro de 320 páginas que consta de 11 capítulos. Además del contenido textual, el libro incluye una cantidad significativa de información gráfica en forma de diagramas y gráficos, así como fragmentos de código integrados. El nivel de dificultad es intermedio. Cada capítulo está complementado con un breve resumen en forma de unas pocas oraciones.
Resumen breve
Los dos primeros capítulos pueden considerarse introductorios. El primer capítulo presenta Kafka: el principio de publicación/suscripción, su nicho y áreas de aplicación. El segundo capítulo cubre la instalación de Kafka, explicada en detalle, desde la elección del sistema operativo y la instalación de ZooKeeper hasta los requisitos de memoria, disco, red y procesador. Solo estos dos capítulos introductorios representan aproximadamente el 20 % del libro completo.
Dado que Kafka está construido sobre el principio de publicación/suscripción, es lógico que los productores y consumidores se discutan inmediatamente después de la instalación. Este es el enfoque de los dos capítulos siguientes. Es difícil evaluar definitivamente la profundidad de estos temas, ya que no soy un experto en Kafka, pero puedo mencionar algunas áreas cubiertas: creación y configuración de consumidores y productores, envío sincrónico y asincrónico de mensajes, serialización, garantías de entrega y trabajo con offsets.
El siguiente capítulo profundiza en los detalles de la arquitectura. Se discuten los mecanismos de replicación, el trabajo con índices, el manejo de fallos y más.
Luego viene un capítulo sobre la confiabilidad en la entrega de datos. Se abordan los principios de ACID, con una parte significativa dedicada a la replicación y diversas opciones de configuración para su implementación.
El siguiente capítulo trata sobre la construcción de pipelines de datos. Comienza con una discusión sobre los requisitos de dichos sistemas, seguido de un examen de Kafka Connect, el trabajo con datos de MySQL y Elasticsearch, y algunas palabras sobre alternativas a Kafka Connect.
El capítulo posterior se centra en las capacidades de replicación entre diferentes clústeres de Kafka utilizando MirrorMaker. Se cubren escenarios de migración, respaldo y garantía de tolerancia a fallos a nivel de distribución geográfica.
Después, hay dos capítulos sobre la administración y monitoreo de Kafka. No es necesario profundizar aquí: quienes estén interesados pueden revisarlos por sí mismos. En general, estos capítulos no parecieron aburridos ni demasiado complejos.
Finalmente, el último capítulo está dedicado al procesamiento de flujos de datos: se abordan los conceptos básicos de Kafka Streams y la creación de aplicaciones para el procesamiento de datos en tiempo real.
Opinión
Un libro decente sobre Kafka. A pesar de que no había trabajado con Kafka antes de leerlo, el material fue bastante comprensible e informativo. Lamentablemente, muchas cosas tienden a olvidarse sin experiencia práctica, pero las notas que tomé previamente ayudaron a refrescar mi memoria rápidamente. Si eres un programador backend y planeas seguir creciendo como especialista, recomendaría leer este libro, incluso si ya estás familiarizado con otro intermediario de mensajes.