Go (Golang) et les microservices : de l'idée à la production
Go (Golang) et les microservices : de l'idée à la production
Résumé :
Ce livre est un guide pratique destiné aux développeurs souhaitant maîtriser la création d'une architecture de microservices en langage Go (Golang). Contrairement à de nombreux ouvrages théoriques, l'auteur met l'accent sur des exemples concrets et des tâches typiques auxquelles chaque développeur est confronté lors du passage d'un monolithe aux microservices.
De quoi parle ce livre ?
Le livre couvre le cycle complet de développement des microservices en Go : de la conception et de la mise en œuvre au déploiement et à la surveillance. Vous apprendrez à organiser correctement le code en utilisant les fonctionnalités intégrées de Go (goroutines, canaux, interfaces) et quels modèles fonctionnent le mieux dans un environnement distribué.
- Conception de microservices : Comment diviser une application monolithique en services, définir leurs limites et choisir les protocoles d'interaction (REST, gRPC, GraphQL).
- Gestion des données : Gestion des transactions dans un système distribué, modèle Saga, CQRS et Event Sourcing avec des exemples en Go.
- Réseau et communications : Écriture de clients et serveurs HTTP/gRPC fiables, gestion des erreurs, timeouts et tentatives.
- Conteneurisation et orchestration : Construction d'images Docker légères pour les applications Go, déploiement dans Kubernetes, charts Helm.
- Observabilité : Journalisation (logs structurés), métriques (Prometheus) et traçage (OpenTelemetry) dans les microservices Go.
- Tests : Tests unitaires, tests d'intégration avec des conteneurs (testcontainers), tests de charge.
À qui s'adresse ce livre ?
- Les développeurs Python qui souhaitent apprendre Go pour le développement backend et les microservices.
- Les développeurs Go qui écrivent des monolithes et souhaitent passer à une architecture de microservices.
- Les ingénieurs DevOps désireux de mieux comprendre le fonctionnement interne des services en Go.
- Les chefs d'équipe et architectes choisissant des technologies pour un nouveau système distribué.
Qu'allez-vous apprendre après avoir lu ce livre ?
- Comment écrire du code Go idiomatique pour les microservices en utilisant les meilleures pratiques de la communauté.
- Comment implémenter Service Discovery, Circuit Breaker et Rate Limiting sans bibliothèques tierces.
- Comment travailler efficacement avec PostgreSQL, Redis et Kafka dans les microservices Go.
- Comment configurer un pipeline CI/CD pour les projets Go avec GitHub Actions.
- Comment éviter les erreurs typiques lors du travail avec les goroutines et la mémoire dans les systèmes à forte charge.
L'auteur — Alexeï Petrov, développeur backend senior avec 10 ans d'expérience. Il a travaillé dans de grandes entreprises fintech, où il a fait migrer des monolithes vers des microservices. Il tient un blog sur Go et l'architecture, et intervient lors de conférences.
Le livre conviendra aussi bien aux débutants en Go qu'aux développeurs expérimentés — chacun y trouvera des pratiques utiles et des solutions prêtes à l'emploi. Tous les exemples de code sont disponibles dans un dépôt GitHub.