Go (Golang) y microservicios: de la idea a la producción
Go (Golang) y microservicios: de la idea a la producción
Resumen:
Este libro es una guía práctica para desarrolladores que quieren dominar la creación de arquitectura de microservicios en el lenguaje Go (Golang). A diferencia de muchas publicaciones teóricas, el autor se centra en ejemplos reales y tareas típicas que enfrenta todo desarrollador al pasar de un monolito a microservicios.
¿De qué trata este libro?
El libro cubre el ciclo completo de desarrollo de microservicios en Go: desde el diseño y la implementación hasta el despliegue y la monitorización. Aprenderá a organizar correctamente el código utilizando las capacidades integradas de Go (gorutinas, canales, interfaces) y qué patrones funcionan mejor en un entorno distribuido.
- Diseño de microservicios: Cómo dividir una aplicación monolítica en servicios, definir sus límites y elegir protocolos de interacción (REST, gRPC, GraphQL).
- Trabajo con datos: Gestión de transacciones en un sistema distribuido, patrón Saga, CQRS y Event Sourcing con ejemplos en Go.
- Red y comunicaciones: Escritura de clientes y servidores HTTP/gRPC robustos, manejo de errores, tiempos de espera y reintentos.
- Contenedorización y orquestación: Creación de imágenes Docker ligeras para aplicaciones Go, despliegue en Kubernetes, Helm charts.
- Observabilidad: Registro (logs estructurados), métricas (Prometheus) y trazado (OpenTelemetry) en microservicios Go.
- Pruebas: Pruebas unitarias, pruebas de integración con contenedores (testcontainers), pruebas de carga.
¿Para quién es este libro?
- Desarrolladores de Python que quieran aprender Go para desarrollo backend y microservicios.
- Desarrolladores de Go que escriben monolitos y quieren migrar a una arquitectura de microservicios.
- Ingenieros DevOps que deseen comprender más a fondo el funcionamiento interno de los servicios en Go.
- Líderes de equipo y arquitectos que eligen tecnologías para un nuevo sistema distribuido.
¿Qué aprenderá después de leerlo?
- Cómo escribir código Go idiomático para microservicios, utilizando las mejores prácticas de la comunidad.
- Cómo implementar Service Discovery, Circuit Breaker y Rate Limiting sin bibliotecas externas.
- Cómo trabajar eficientemente con PostgreSQL, Redis y Kafka en microservicios Go.
- Cómo configurar un pipeline CI/CD para proyectos Go con GitHub Actions.
- Cómo evitar errores típicos al trabajar con gorutinas y memoria en sistemas de alta carga.
El autor es Alexey Petrov, desarrollador backend senior con 10 años de experiencia. Ha trabajado en grandes empresas fintech, donde migró monolitos a microservicios. Mantiene un blog sobre Go y arquitectura, y da charlas en conferencias.
El libro es adecuado tanto para principiantes en Go como para desarrolladores experimentados; todos encontrarán prácticas útiles y soluciones listas para usar. Todos los ejemplos de código están disponibles en el repositorio de GitHub.