Saltar al contenido
Logotipo de Trainontech Trainontech

Desarrollo Backend y APIs · BAC-160

Go para servicios de alto rendimiento

Servicios en Go: HTTP sin marco, contextos, concurrencia, pruebas y binarios de un solo fichero

Bajo demanda Avanzado 7 módulos · 32 clases

Formato asíncrono Desarrollo, Ingeniería / Industria Go, Docker

Lo que aprenderás

  • Construir un servidor HTTP con la biblioteca estándar usando manejadores, multiplexor y middleware propio
  • Propagar cancelación y plazos entre capas mediante context y cerrar el servicio de forma ordenada
  • Coordinar concurrencia con goroutines, canales y grupos de espera evitando fugas y condiciones de carrera
  • Tratar errores con envoltura, errors.Is y errors.As en lugar de cadenas de texto
  • Escribir pruebas de tabla y pruebas de manejadores con httptest, incluyendo detección de carreras
  • Perfilar consumo de CPU y memoria con pprof y localizar asignaciones innecesarias
  • Compilar binarios estáticos multiplataforma y empaquetarlos en imágenes Docker mínimas

Contenido del curso

7 módulos · 32 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y bases del lenguaje 5 clases
  • Por qué Go para servicios: compilación, despliegue y consumo
  • Módulos, estructura de paquetes y herramientas del lenguaje
  • Tipos, estructuras, interfaces y métodos
  • Errores como valores: convención y estilo
  • El servicio que se construye durante el curso
Módulo 2 · HTTP con la biblioteca estándar 5 clases
  • Manejadores, multiplexor y patrones de ruta
  • Middleware escrito a mano y composición
  • Lectura y escritura de JSON con control de errores
  • Tiempos de espera del servidor y del cliente
  • Apagado ordenado del proceso
Módulo 3 · Contexto y ciclo de vida 4 clases
  • Qué resuelve context y cómo se propaga
  • Cancelación, plazos y valores en el contexto
  • Cancelación de consultas a base de datos
  • Errores de contexto y su tratamiento
Módulo 4 · Concurrencia controlada 5 clases
  • Goroutines y su coste real
  • Canales, selección y patrones de comunicación
  • Grupos de espera y grupos con error
  • Fugas de goroutines y cómo detectarlas
  • El detector de condiciones de carrera
Módulo 5 · Datos y dependencias externas 4 clases
  • Acceso a base de datos con database/sql
  • Grupo de conexiones y consultas parametrizadas
  • Clientes HTTP hacia otros servicios con reintentos
  • Interfaces pequeñas para poder sustituir dependencias
Módulo 6 · Pruebas y rendimiento 5 clases
  • Pruebas de tabla y cobertura
  • Pruebas de manejadores con httptest
  • Dobles mediante interfaces
  • Pruebas de rendimiento con benchmarks
  • Perfilado de CPU y memoria con pprof
Módulo 7 · Empaquetado y cierre 4 clases
  • Compilación cruzada y binarios estáticos
  • Imagen Docker mínima en varias etapas
  • Configuración por entorno y comprobaciones de salud
  • Proyecto final: servicio compilado, probado y perfilado

Requisitos

  • Experiencia previa en algún lenguaje compilado o tipado estáticamente
  • Conocer HTTP, concurrencia y bases de datos a nivel de desarrollo backend
  • Manejo de la línea de comandos, Git y Docker para compilar y ejecutar contenedores

Descripción

Un servicio que debe responder con latencia estable, consumir poca memoria y desplegarse como un único fichero encaja mal con pilas que arrastran intérprete y dependencias. Go se diseñó para ese escenario, pero su enfoque incomoda a quien llega de marcos completos: no hay inyección mágica, ni ORM de serie, ni jerarquía de excepciones.

El curso construye un servicio de datos con la biblioteca estándar y unas pocas dependencias elegidas. Se implementan manejadores y middleware a mano, se propaga contexto con cancelación, se paralelizan consultas con goroutines controladas y se instrumenta con pprof para medir asignaciones. Todo el código se acompaña de pruebas de tabla y del detector de carreras activado.

El resultado es un binario estático, con pruebas y perfilado, listo para una imagen Docker de pocos megabytes. Encaja con equipos de desarrollo que necesitan servicios de alto rendimiento y con ingeniería que despliega en máquinas de recursos limitados o en pasarelas industriales. Continúa hacia microservicios y mensajería con colas.

¿Para quién es este curso?

  • Perfiles backend que necesitan servicios con latencia estable y bajo consumo de memoria
  • Ingeniería que despliega software en pasarelas o equipos con recursos limitados
  • Equipos de plataforma que construyen herramientas internas distribuibles como un único binario
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
BAC-160
Nivel
Avanzado
Público
Desarrollo, Ingeniería / Industria
Entorno
Go, Docker

Este curso incluye

  • 32 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BAC-111Desarrollo Backend y APIs

Django REST Framework

Serializadores, vistas genéricas, permisos y paginación para exponer un backend Django como API.

DjangoPython

Avanzado 32 clases

Bajo demanda

BAC-113Desarrollo Backend y APIs

FastAPI: APIs asíncronas y documentadas

Tipado con Pydantic, documentación automática, dependencias y concurrencia real.

FastAPIPythonDocker

Avanzado 33 clases

Próximamente

BAC-121Desarrollo Backend y APIs

NestJS: backend TypeScript estructurado

Módulos, inyección de dependencias y arquitectura por capas para equipos que vienen de Java o C#.

NestJSTypeScript

Avanzado 32 clases