Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Dirigido a desarrolladores Go que ya conocen los fundamentos de gRPC y quieren consolidar un dominio real del protocolo en proyectos productivos, este curso de 8 horas profundiza en el ciclo completo de diseño y operación de servicios gRPC: desde la modelización avanzada de contratos Protobuf con múltiples servicios y tipos de mensajes, pasando por la integración del código generado en servidor y cliente, la implementación de los distintos patrones de streaming y el manejo semántico de errores con status codes, hasta la propagación de metadatos transversales, la construcción de interceptores de logging y la depuración activa con herramientas como grpcurl. Al finalizar, el participante será capaz de diseñar, instrumentar y depurar un servicio gRPC completo en Go, tomando decisiones tecnológicas justificadas frente a alternativas REST/HTTP JSON.
.proto con múltiples servicios y tipos de mensajes aplicando las convenciones de nomenclatura y tipos escalares de Protocol Buffers, e integrar el código generado por protoc en un servidor y cliente Go funcionales.grpcurl o interceptores de logging, identificando y corrigiendo errores de contrato o de status code en escenarios simulados.Bloque 1 — Modelización de contratos con Protocol Buffers.
Se estudian las convenciones de nomenclatura de Protobuf, los tipos escalares y compuestos disponibles, y las buenas prácticas para estructurar un archivo .proto con múltiples servicios e interdependencias de mensajes. Se aborda también la comparación entre gRPC y REST/HTTP JSON, examinando criterios técnicos verificables —latencia esperada, naturaleza del cliente, rigidez del contrato, bidireccionalidad— que permiten argumentar la elección tecnológica con fundamento.
Bloque 2 — Generación de código e integración servidor-cliente.
Se trabaja con el compilador protoc y los plugins de Go para generar stubs y skeletons, y se integra ese código en un servidor y un cliente Go reales, verificando la comunicación unaria en local. Se revisan las estructuras generadas, los patrones de registro del servidor y los modos de conexión del cliente, haciendo énfasis en los puntos de fallo más habituales durante la integración.
Bloque 3 — Patrones de streaming. Se exploran los tres modos de streaming que ofrece gRPC —server-side, client-side y bidireccional— analizando sus casos de uso canónicos. Los participantes implementan al menos uno de ellos en Go, documentando en el propio código la justificación de la elección, y comprueban el comportamiento del flujo de mensajes bajo distintas condiciones de carga y latencia simuladas.
Bloque 4 — Manejo de errores y status codes semánticos.
Se profundiza en el modelo de errores de gRPC: diferencias entre errores de transporte y errores de aplicación, catálogo de status codes estándar y criterios para elegir entre NotFound, InvalidArgument, Unavailable u otros. Los participantes adaptan un servicio existente para sustituir errores genéricos por respuestas semánticas adecuadas a un conjunto de escenarios de fallo definidos.
Bloque 5 — Metadatos e interceptores.
Se introduce el sistema de metadatos de gRPC como mecanismo para propagar información transversal —trace IDs, tokens de autenticación— sin contaminar los mensajes Protobuf. A continuación se diseña un interceptor unario en el servidor que registra duración y status code de cada llamada, integrándolo con un middleware o framework de logging existente, y se conecta este conocimiento con las técnicas de depuración activa mediante grpcurl y logging estructurado.
PATH.protoc (Protocol Buffers v3) con los plugins protoc-gen-go y protoc-gen-go-grpc instalados.grpcurl instalado y accesible desde la línea de comandos.go mod).