Go (Golang) et les microservices : de l'idée à la production
Go (Golang) et les microservices : de l'idée à la production
Résumé :
Le livre « Go (Golang) et les microservices : de l'idée à la production » est un guide pratique qui vous accompagnera à travers toutes les étapes de la création d'applications modernes de microservices en langage Go. L'auteur, un développeur et architecte expérimenté, partage des modèles éprouvés, des bonnes pratiques et des cas concrets qui vous aideront à éviter les erreurs typiques et à construire un système fiable et évolutif.
De quoi parle le livre
Le livre couvre l'ensemble du cycle de vie d'un projet de microservices : de la conception de l'architecture au déploiement en production. Vous apprendrez comment décomposer correctement un monolithe, organiser l'interaction entre les services, assurer la tolérance aux pannes et la surveillance. Une attention particulière est accordée aux spécificités du langage Go : les goroutines, les canaux, la gestion efficace de la mémoire et les performances.
- Architecture des microservices : principes de décomposition, modèles Saga, CQRS, Event Sourcing, choix des protocoles (REST, gRPC, GraphQL).
- Développement en Go : conception d'API, travail avec les bases de données (PostgreSQL, MongoDB), gestion des erreurs, journalisation et configuration.
- Intégration et échange de données : interaction synchrone et asynchrone, files de messages (RabbitMQ, Kafka), courtiers d'événements.
- Conteneurisation et orchestration : conteneurs Docker, Docker Compose, déploiement dans Kubernetes, pipelines CI/CD.
- Sécurité : authentification et autorisation (JWT, OAuth2), gestion des secrets, protection contre les attaques DDoS et autres.
- Surveillance et débogage : collecte de métriques (Prometheus), traçage (Jaeger), journalisation centralisée (ELK), profilage de code.
- Tests : tests unitaires, tests d'intégration, tests contractuels (Pact), tests de charge.
À qui s'adresse ce livre
Ce livre sera utile :
- Aux développeurs Go qui souhaitent passer de l'écriture d'applications monolithiques à une architecture de microservices.
- Aux ingénieurs DevOps cherchant à mieux comprendre les spécificités du déploiement et de l'exploitation des services Go.
- Aux architectes à la recherche d'approches éprouvées pour la conception de systèmes distribués.
- Aux chefs d'équipe et managers techniques souhaitant évaluer les possibilités de Go pour le développement de microservices.
Ce que vous apprendrez
Après avoir lu ce livre, vous serez capable de :
- Concevoir une architecture de microservices en tenant compte des exigences de performance, d'évolutivité et de tolérance aux pannes.
- Écrire des microservices efficaces et sécurisés en Go, en utilisant la bibliothèque standard et les frameworks populaires.
- Configurer l'interaction entre les services via REST, gRPC et les files asynchrones.
- Conteneuriser les applications et les déployer dans Kubernetes.
- Mettre en place la surveillance, la journalisation et le traçage pour contrôler l'état du système.
- Effectuer des tests de microservices à tous les niveaux.
Le livre contient de nombreux exemples de code, des diagrammes et des exercices pratiques. Chaque chapitre se termine par un résumé et des questions d'auto-évaluation. C'est