Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
El mayor cumplido que se le puede hacer a un autor de un libro técnico es: "Éste es el libro que me gustaría haber tenido cuando empecé con este tema". Éste es el objetivo que nos marcamos cuando empezamos a escribir este libro. Echamos la vista atrás a nuestra experiencia escribiendo Kafka, ejecutando Kafka en producción y ayudando a muchas empresas a utilizar Kafka para construir arquitecturas de software y gestionar sus canalizaciones de datos, y nos preguntamos: "¿Cuáles son las cosas más útiles que podemos compartir con los nuevos usuarios para llevarlos de principiantes a expertos?". Este libro es un reflejo del trabajo que hacemos cada día: ejecutar Apache Kafka y ayudar a otros a utilizarlo de la mejor manera.
Incluimos lo que creemos que necesitas saber para ejecutar con éxito Apache Kafka en producción y construir aplicaciones robustas y de alto rendimiento sobre él. Hemos destacado los casos de uso más comunes: buses de mensajes para microservicios basados en eventos, aplicaciones de procesamiento de flujos y canalizaciones de datos a gran escala. También nos hemos centrado en que el libro sea lo suficientemente general y completo para que resulte útil a cualquiera que utilice Kafka, independientemente del caso de uso o la arquitectura. Cubrimos cuestiones prácticas como la forma de instalar y configurar Kafka y de utilizar las API de Kafka, y también dedicamos espacio a los principios de diseño de Kafka y a las garantías de fiabilidad, y exploramos varios de los deliciosos detalles de la arquitectura de Kafka: el protocolo de replicación, el controlador y la capa de almacenamiento. Creemos que conocer el diseño y las interioridades de Kafka no sólo es una lectura divertida para quienes se interesan por los sistemas distribuidos, sino que también es increíblemente útil para quienes buscan tomar decisiones informadas cuando implementan Kafka en producción y diseñan aplicaciones que utilizan Kafka. Cuanto mejor entiendas el funcionamiento de Kafka, mejor podrás tomar decisiones informadas sobre las muchas compensaciones que implica la ingeniería.
Uno de los problemas de la ingeniería de software es que siempre hay más de una forma de hacer algo. Plataformas como Apache Kafka proporcionan mucha flexibilidad, lo que es estupendo para los expertos, pero supone una curva de aprendizaje empinada para los principiantes. Muy a menudo, Apache Kafka te dice cómo utilizar una función, pero no por qué deberías o no deberías utilizarla. Siempre que es posible, intentamos aclarar las opciones existentes, lascompensaciones que implican y cuándo debes y cuándo no debes utilizar las distintas opciones que te presenta Apache Kafka.
Quién debería leer este libro
Kafka: La guía definitiva se ha escrito para los ingenieros de software que desarrollan aplicaciones que utilizan las API de Kafka y para los ingenieros de producción (también denominados SRE, DevOps o administradores de sistemas) que instalan, configuran, ajustan y supervisan Kafka en producción. También hemos escrito el libro pensando en los arquitectos e ingenieros de datos, que son los responsables de diseñar y construir toda la infraestructura de datos de una organización. Algunos de los capítulos, especialmente los capítulos 3, 4 y 14, están dirigidos a desarrolladores Java. Estos capítulos dan por sentado que el lector está familiarizado con los fundamentos del lenguaje de programación Java, incluidos temas como el manejo de excepciones y la concurrencia. Otros capítulos, especialmente los capítulos 2, 10, 12 y 13, suponen que el lector tiene cierta experiencia con Linux y cierta familiaridad con la configuración del almacenamiento y la red en Linux. El resto del libro trata sobre Kafka y las arquitecturas de software en términos más generales y no presupone conocimientos especiales.
Otra categoría de personas que pueden encontrar interesante este libro son los directivos y arquitectos que no trabajan directamente con Kafka, pero que trabajan con las personas que sí lo hacen. Es igual de importante que comprendan las garantías que ofrece Kafka y las compensaciones que sus empleados y colaboradores tendrán que hacer al construir sistemas basados en Kafka. El libro puede proporcionar munición a los directivos que deseen formar a su personal en Apache Kafka o asegurarse de que sus equipos saben lo que necesitan saber.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Utilizar ejemplos de código
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requierepermiso.
Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo: "Kafka: La Guía Definitiva" de Gwen Shapira, Todd Palino, Rajini Sivaram y Krit Petty (O'Reilly). Copyright 2021 Chen Shapira, Todd Palino, Rajini Sivaram y Krit Petty, 978-1-491-93616-0".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/kafka-tdg2.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para noticias e información sobre nuestros libros y cursos, visita http://oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://youtube.com/oreillymedia
Agradecimientos
Queremos dar las gracias a los numerosos colaboradores de Apache Kafka y su ecosistema. Sin su trabajo, este libro no existiría. Un agradecimiento especial a Jay Kreps, Neha Narkhede y Jun Rao, así como a sus colegas y a la dirección de LinkedIn, por cocrear Kafka y aportarlo a la Apache Software Foundation.
Muchas personas aportaron valiosos comentarios sobre las primeras versiones del libro, y agradecemos su tiempo y experiencia: Apurva Mehta, Arseniy Tashoyan, Dylan Scott, Ewen Cheslack-Postava, Grant Henke, Ismael Juma, James Cheng, Jason Gustafson, Jeff Holoman, Joel Koshy, Jonathan Seidman, Jun Rao, Matthias Sax, Michael Noll, Paolo Castagna y Jesse Anderson. También queremos dar las gracias a los muchos lectores que han dejado comentarios y opiniones a través del sitio de opiniones sobre los esbozos.
Muchos revisores nos ayudaron y mejoraron mucho la calidad de este libro, así que los errores que pueda haber son nuestros.
Nos gustaría dar las gracias a nuestra editora de la primera edición de O'Reilly, Shannon Cutt, por su ánimo y paciencia, y por estar mucho más al tanto de las cosas que nosotros. Nuestros editores de la segunda edición, Jess Haberman y Gary O'Brien, nos mantuvieron en el buen camino a pesar de los retos globales. Trabajar con O'Reilly es una gran experiencia para un autor: el apoyo que proporcionan, desde herramientas hasta firmas de libros, no tiene parangón. Estamos muy agradecidos a todos los que han contribuido a que esto sea posible, y apreciamos su decisión de trabajar con nosotros.
Y nos gustaría dar las gracias a nuestros jefes y compañeros por permitirnos y animarnos mientras escribíamos el libro.
Gwen quiere dar las gracias a su marido, Omer Shapira, por su apoyo y paciencia durante los muchos meses que pasó escribiendo otro libro más; a sus gatos, Luke y Lea, por ser tan mimosos; y a su padre, Lior Shapira, por enseñarle a decir siempre sí a las oportunidades, incluso cuando parecen desalentadoras.
Todd no estaría en ninguna parte sin su mujer, Marcy, y sus hijas, Bella y Kaylee, que le apoyan en todo momento. Su apoyo durante todo el tiempo extra que pasa escribiendo, y las largas horas corriendo para despejarse, le hacen seguir adelante.
Rajini quiere dar las gracias a su marido, Manjunath, y a su hijo, Tarun, por su inquebrantable apoyo y ánimo, por pasarse los fines de semana revisando los primeros borradores y por estar siempre a su lado.
Krit comparte su amor y gratitud con su mujer, Cecilia, y sus dos hijos, Lucas y Lizabeth. Su amor y apoyo hacen que cada día sea una alegría, y sin ellos no podría dedicarse a sus pasiones. También quiere dar las gracias a su madre, Cindy Petty, por inculcar en Krit el deseo de ser siempre la mejor versión de sí mismo.
Get Kafka: La Guía Definitiva, 2ª Edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.