gRPC: Up and Running. Création d'applications cloud avec Go et gRPC
gRPC: Up and Running. Création d'applications cloud avec Go et gRPC
Résumé :
Introduction
Le livre « gRPC: Up and Running » (auteurs Kasun Indrasiri et Danesh Kuruppu, 2020, 265 pages) est un guide pratique pour créer des applications cloud modernes en utilisant le framework gRPC avec le langage Go (Golang). Bien que le site PythonLib soit dédié à Python, ce livre mérite l'attention de tout développeur intéressé par l'architecture microservices et les protocoles de communication haute performance. gRPC est une technologie activement utilisée dans l'écosystème Python (par exemple via les bibliothèques grpcio), et comprendre ses bases à travers l'exemple de Go permet d'acquérir une compréhension approfondie des principes facilement transposables à Python.
De quoi parle le livre
Le livre présente progressivement gRPC au lecteur : de l'installation et la configuration jusqu'au déploiement en production. Les auteurs commencent par les bases — ce qu'est gRPC, en quoi il diffère de REST, comment fonctionnent HTTP/2 et Protocol Buffers. Ils passent ensuite à la création de serveurs et de clients en Go, au travail avec les flux (streaming), à la gestion des erreurs, à l'authentification, à l'équilibrage de charge et à la surveillance. Des chapitres distincts sont consacrés à l'intégration avec Kubernetes et gRPC-web.
À qui s'adresse ce livre
Le livre est destiné aux développeurs déjà familiers avec Go (bien que les exemples de base soient compréhensibles pour les débutants). Il sera utile :
- aux développeurs Go souhaitant maîtriser gRPC pour les microservices ;
- aux développeurs Python qui veulent comprendre gRPC de l'intérieur (de nombreux concepts sont identiques) ;
- aux architectes concevant des systèmes à haute performance ;
- à tous ceux qui passent de REST à gRPC.
Ce que le lecteur apprendra
Après la lecture, vous serez capable de :
- Comprendre les principes de gRPC et ses différences avec REST ;
- Créer des fichiers .proto efficaces et générer du code ;
- Implémenter des RPC unaires et en streaming (server-streaming, client-streaming, bidirectionnel) ;
- Configurer l'authentification (SSL/TLS, jetons) ;
- Intégrer gRPC avec Kubernetes et Envoy ;
- Déboguer et profiler les services gRPC.
Points forts
Le principal atout du livre est son orientation pratique. Chaque chapitre contient des exemples de code prêts à l'emploi en Go, que vous pouvez exécuter immédiatement. Les auteurs accordent de l'attention non seulement à la théorie, mais aussi aux problèmes réels : délais d'attente, tentatives répétées, équilibrage de charge. Le livre est écrit dans un langage vivant, les concepts complexes sont expliqués par des analogies. Il convient de souligner particulièrement le chapitre sur gRPC-web — une rareté dans la littérature de 2020.
À qui est-il recommandé
Je recommande ce livre à tous ceux qui travaillent avec des microservices, quel que soit leur langage principal. Pour les développeurs Python, il constituera un excellent complément à la documentation officielle de grpcio, car il offre un « regard extérieur » — en Go, mais avec les mêmes principes. Si vous voulez comprendre gRPC en profondeur et commencer à l'utiliser dans vos projets, c'est le meilleur point de départ.