
gRPC
Protocol Buffers, gRPC services, streaming, interceptors, error handling, metadata
1Qu'est-ce que gRPC ?
Qu'est-ce que gRPC ?
Réponse
gRPC est un framework RPC (Remote Procedure Call) open-source développé par Google qui utilise HTTP/2 comme protocole de transport et Protocol Buffers comme format de sérialisation par défaut. Contrairement à REST qui utilise JSON et HTTP/1.1, gRPC offre de meilleures performances grâce au format binaire de Protocol Buffers et aux fonctionnalités avancées de HTTP/2 (multiplexing, compression d'en-têtes, server push). gRPC est largement utilisé pour la communication entre microservices car il supporte nativement le streaming bidirectionnel, la génération de code client/serveur et l'utilisation de types fortement typés.
2Quel est le rôle principal de Protocol Buffers dans gRPC ?
Quel est le rôle principal de Protocol Buffers dans gRPC ?
Réponse
Protocol Buffers (protobuf) est le langage de définition d'interface (IDL) et le format de sérialisation binaire utilisé par défaut dans gRPC. Il permet de définir la structure des messages et des services dans des fichiers .proto, qui sont ensuite compilés pour générer automatiquement du code client et serveur dans différents langages. Le format binaire de protobuf est 3 à 10 fois plus compact que JSON et offre des performances de sérialisation/désérialisation nettement supérieures (jusqu'à 20 fois plus rapide). Cela rend gRPC particulièrement adapté aux communications haute fréquence entre microservices.
3Quelle est la différence entre un appel gRPC Unary et un appel Server Streaming ?
Quelle est la différence entre un appel gRPC Unary et un appel Server Streaming ?
Réponse
Un appel Unary est le type d'appel gRPC le plus simple : le client envoie une seule requête et reçoit une seule réponse, similaire à une requête HTTP REST classique. Un appel Server Streaming permet au client d'envoyer une seule requête mais de recevoir un flux (stream) de plusieurs réponses du serveur. Par exemple, une API de notifications peut utiliser Server Streaming pour envoyer plusieurs mises à jour au client sans que celui-ci ne doive faire de polling. Cela réduit la latence et la charge réseau comparé à des appels Unary répétés.
Quel package Go est utilisé pour créer un serveur gRPC ?
Comment définir un service gRPC dans un fichier .proto ?
+19 questions d'entretien
Autres sujets d'entretien Go
Les bases de Go
Structures de données Go
Interfaces Go
Gestion des erreurs
Goroutines basiques
Channels
Go Modules
Serveur HTTP
Client HTTP
Encodage JSON
database/sql
Package context
Testing
Patterns de concurrence
Primitives de synchronisation
Frameworks web Go
Design d'API REST
Reflection
Gestion mémoire
Optimisation des performances
Generics
Design Patterns Go
Microservices
Sécurité & Authentication
Docker & Containerization
Kubernetes Basics
Go Avancé
Développement CLI
Maîtrise Go pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement