Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Hoy en día, las aplicaciones de software suelen conectarse entre sí a través de redes informáticas mediante tecnologías de comunicación entre procesos. gRPC es un estilo moderno de comunicación entre procesos basado en RPC (llamadas a procedimientos remotos) de alto rendimiento para crear aplicaciones distribuidas y microservicios. Con la llegada de los microservicios y las aplicaciones nativas de la nube, la adopción de gRPC está creciendo exponencialmente.
¿Por qué escribimos este libro?
Con la creciente adopción de gRPC, pensamos que los desarrolladores necesitan un libro completo sobre gRPC, un libro que puedas utilizar como guía de referencia definitiva en cada etapa del ciclo de desarrollo de tus aplicaciones gRPC. Hay muchos recursos y ejemplos de código para gRPC por todas partes (documentación, blogs, artículos, charlas en conferencias, etc.), pero no hay un único recurso que puedas utilizar para crear aplicaciones gRPC. Tampoco hay recursos sobre el funcionamiento interno del protocolo gRPC.
Hemos escrito este libro para superar esos retos y ofrecerte una comprensión exhaustiva de los fundamentos de gRPC, en qué se diferencia de las tecnologías convencionales de comunicación entre procesos, los patrones de comunicación gRPC del mundo real, cómo crear aplicaciones gRPC utilizando Go y Java, cómo funciona bajo el capó, cómo ejecutar aplicaciones gRPC en producción y cómo funciona gRPC con Kubernetes y el resto del ecosistema.
¿A quién va dirigido este libro?
El libro es más directamente relevante para los desarrolladores que construyen aplicaciones distribuidas y microservicios utilizando diferentes tecnologías de comunicación entre procesos. Cuando se trata de construir este tipo de aplicaciones y servicios, los desarrolladores necesitan aprender los fundamentos de gRPC, cuándo y cómo utilizarlo para la comunicación entre servicios, las buenas prácticas para ejecutar servicios gRPC en producción, etc. Además, los arquitectos que están adoptando microservicios o una arquitectura nativa de la nube y diseñando cómo deben comunicarse los servicios obtendrán mucha información del libro, porque compara y contrasta gRPC con otras tecnologías y proporciona directrices sobre cuándo utilizarlo y cuándo evitarlo.
Suponemos que tanto los desarrolladores como los arquitectos tienen un conocimiento básico de los fundamentos de la informática distribuida, como las técnicas de comunicación entre procesos, la arquitectura orientada a servicios (SOA) y los microservicios.
Cómo está organizado este libro
El libro está escrito de tal forma que los conceptos teóricos se explican utilizando casos de uso del mundo real. A lo largo del libro, hemos utilizado ampliamente ejemplos de código con Go y Java para ofrecer a los lectores experiencia práctica con cada uno de los conceptos que aprenden. Hemos organizado el libro en ocho capítulos.
- Capítulo 1, Introducción a gRPC
-
Este capítulo te ofrece una comprensión básica de los fundamentos de gRPC y lo compara con estilos similares de comunicación entre procesos, como REST, GraphQL y otras tecnologías RPC.
- Capítulo 2, Primeros pasos con gRPC
-
En este capítulo obtendrás la primera experiencia práctica con la creación de una aplicación gRPC completa utilizando Go o Java.
- Capítulo 3, Patrones de comunicación gRPC
-
En este capítulo, explorarás los patrones de comunicación gRPC utilizando ejemplos del mundo real.
- Capítulo 4, gRPC: bajo el capó
-
Si eres un usuario avanzado de gRPC y te interesa conocer los aspectos internos de gRPC, éste es el capítulo para aprenderlos. Este capítulo te enseña cada paso de la comunicación gRPC entre servidor y cliente y cómo funciona en la red.
- Capítulo 5, gRPC: Más allá de lo básico
-
Este capítulo te enseña algunas de las funciones avanzadas más importantes de gRPC, como interceptores, plazos, metadatos, multiplexación, equilibrio de carga, etc.
- Capítulo 6, gRPC seguro
-
Este capítulo te proporciona una comprensión completa de cómo asegurar los canales de comunicación y cómo autenticamos y controlamos el acceso de los usuarios a las aplicaciones gRPC.
- Capítulo 7, Ejecutar gRPC en producción
-
Este capítulo te guía a través de todo el ciclo de vida de desarrollo de las aplicaciones gRPC. Cubrimos las pruebas de las aplicaciones gRPC, la integración con CI/CD, la implementación y ejecución en Docker y Kubernetes, y la observación de las aplicaciones gRPC.
- Capítulo 8, El ecosistema gRPC
-
En este capítulo, tratamos algunos de los componentes de apoyo útiles construidos en torno a gRPC. La mayoría de estos proyectos son útiles a la hora de construir aplicaciones del mundo real utilizando gRPC.
Utilizar ejemplos de código
Todos los ejemplos de código y materiales complementarios de este libro están disponibles para su descarga enhttps://grpc-up-and-running.github.io. Te recomendamos encarecidamente que pruebes los ejemplos disponibles en este repositorio mientras lees el libro. Te permitirán comprender mejor los conceptos que estás aprendiendo.
Estos ejemplos de código se mantienen y actualizan con las últimas versiones de las bibliotecas, dependencias y herramientas de desarrollo. Ocasionalmente puedes encontrar que los ejemplos de código en el texto y los ejemplos en el repositorio difieren ligeramente. Te animamos a que envíes una solicitud pull (PR) si encuentras algún problema o mejora relacionados con los ejemplos de código.
Puedes utilizar el código de ejemplo de este libro en tus propios 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í requiere permiso.
Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "gRPC: Up and Running " de Kasun Indrasiri y Danesh Kuruppu (O'Reilly). Copyright 2020 Kasun Indrasiri y Danesh Kuruppu, 978-1-492-05833-5".
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.
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.
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, conferencias 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/gRPC_Up_and_Running.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://www.youtube.com/oreillymedia
Agradecimientos
Nuestro agradecimiento a los revisores técnicos de este libro, Julien Andrieux, Tim Raymond y Ryan Michela. También queremos dar las gracias a nuestra Editora de Desarrollo, Melissa Potter, por su orientación y apoyo, y a nuestro Editor de Adquisiciones, Ryan Shaw, por todo el apoyo prestado. Por último, pero no por ello menos importante, damos las gracias a toda la comunidad gRPC por crear un proyecto de código abierto tan magnífico.
Get gRPC: funcionando 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.