Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

gRPC — Iniciación

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • gRPC

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a desarrolladores con conocimientos básicos de programación que quieran incorporar gRPC a su stack tecnológico partiendo desde cero. A lo largo de ocho horas los participantes explorarán los fundamentos conceptuales del protocolo, comprenderán el papel de Protocol Buffers como mecanismo de serialización y contrato de interfaz, y pondrán en práctica el ciclo completo de desarrollo en Go: definir un servicio en un archivo .proto, generar el código con protoc y sus plugins, levantar un servidor que registre ese servicio y consumirlo desde un cliente que realice una llamada unary real. Al finalizar, cada persona será capaz de construir y ejecutar de forma autónoma un sistema cliente-servidor gRPC funcional en un entorno local, interpretando los mensajes de error más habituales para resolverlos con criterio.

  1. Explicar en qué se diferencia gRPC de REST en cuanto a protocolo de transporte, formato de serialización y contrato de interfaz, reconociendo cuándo cada enfoque resulta más adecuado.
  2. Distinguir los cuatro patrones de comunicación que ofrece gRPC —unary, server-streaming, client-streaming y bidireccional— a partir de la lectura de archivos .proto.
  3. Describir la función de Protocol Buffers en el ecosistema gRPC, identificando qué elementos definen un mensaje y un servicio dentro de un archivo .proto.
  4. Generar código Go a partir de un archivo .proto utilizando protoc junto con los plugins protoc-gen-go y protoc-gen-go-grpc.
  5. Definir un servicio unary completo en un archivo .proto, incluyendo mensajes de request y response con campos correctamente tipados.
  6. Poner en marcha un servidor gRPC en Go que registre un servicio generado y confirmar que arranca sin errores escuchando en el puerto configurado.
  7. Implementar un cliente gRPC en Go capaz de realizar una llamada unary a un servidor local e imprimir la respuesta recibida, integrando así el ciclo completo de comunicación.

Bloque 1 — gRPC en contexto: fundamentos y comparativa con REST. El curso arranca situando gRPC dentro del panorama actual de comunicación entre servicios. Se analiza en detalle qué diferencia a gRPC de REST en cuanto a protocolo de transporte (HTTP/2 frente a HTTP/1.1), formato de serialización binaria versus texto plano y la naturaleza del contrato de interfaz estático que impone gRPC. Los participantes elaboran un cuadro comparativo que fija estos conceptos antes de avanzar. A continuación se presentan los cuatro tipos de comunicación disponibles —unary, server-streaming, client-streaming y bidireccional— identificándolos a partir de fragmentos reales de archivos .proto, de modo que quede claro qué patrón elegir según el flujo de datos requerido.

Bloque 2 — Protocol Buffers: el lenguaje del contrato. Este bloque profundiza en Protocol Buffers como sistema de serialización y definición de contratos. Se explica qué representa cada elemento de un archivo .proto: la declaración de paquete y opciones de generación, la estructura de un mensaje con sus campos tipados y numerados, y la definición de un servicio con sus métodos RPC. Los participantes redactan de forma guiada un archivo .proto que modela un servicio unary sencillo, con al menos un mensaje de request y uno de response, consolidando así el lenguaje antes de pasar a la generación de código.

Bloque 3 — Generación de código y toolchain. Con el contrato definido, el foco se traslada a la cadena de herramientas. Se instalan y configuran protoc, protoc-gen-go y protoc-gen-go-grpc, y se ejecuta la compilación para obtener los archivos Go generados. El bloque dedica tiempo a leer e interpretar el código producido —interfaces, estructuras de mensaje y métodos de registro— para que los participantes entiendan qué genera cada directiva del .proto y no traten el código generado como una caja negra.

Bloque 4 — Servidor, cliente y diagnóstico de errores. El bloque final integra todo lo aprendido en un sistema funcional. Primero se implementa un servidor gRPC en Go: se crea la estructura que satisface la interfaz generada, se registra el servicio y se verifica que el servidor arranca y escucha sin errores. Después se construye el cliente que establece la conexión, instancia el stub y realiza la llamada unary imprimiendo la respuesta en consola. El bloque cierra con un ejercicio de diagnóstico en el que, a partir de mensajes de error reales —paquete no encontrado, servicio no registrado, puerto incorrecto—, los participantes localizan la causa raíz y aplican la corrección correspondiente.

  • Go 1.21 o superior instalado y correctamente configurado en el PATH.
  • protoc (Protocol Buffers compiler) versión 25 o superior.
  • Plugins protoc-gen-go y protoc-gen-go-grpc instalados vía go install.
  • Editor de código con soporte para Go (se recomienda VS Code con la extensión oficial de Go o GoLand).
  • Acceso a terminal con permisos para instalar binarios en el sistema.
  • Conexión a internet para descargar dependencias con go mod tidy durante las prácticas.
  • Programación en Go a nivel básico: declaración de tipos, funciones, paquetes e importaciones.
  • Familiaridad con la línea de comandos para instalar herramientas y ejecutar comandos.
  • Noción general de qué es una API y para qué sirve la comunicación entre servicios, sin necesidad de experiencia previa con REST o gRPC.