gRPC

Architecture 🟡 Mid

Définition

Framework RPC haute performance de Google utilisant Protocol Buffers pour la sérialisation et HTTP/2 pour le transport. Supporte le streaming bidirectionnel.

Analogie

Un talkie-walkie numérique : communication directe, rapide, avec un protocole strict que les deux cotes comprennent.

Exemple de code

// user.proto
service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
  rpc ListUsers (Empty) returns (stream UserResponse);
}
message UserRequest { int32 id = 1; }

Cas d'usage

Communication inter-microservices performante, streaming temps réel, APIs internes.

Anti-pattern

Utiliser gRPC pour des APIs publiques consommées par des navigateurs — REST/GraphQL est plus adapte.

Termes liés

#architecture#interview#api

En entretien

  1. Explique-moi gRPC et son cas d'usage typique.

    C'est un framework RPC haute performance de Google utilisant Protocol Buffers pour la sérialisation et HTTP/2 pour le transport, avec support du streaming bidirectionnel. On l'utilise pour la communication inter-microservices performante ou des APIs internes.

  2. Quand éviter gRPC ?

    Pour des APIs publiques consommées directement par des navigateurs, où REST ou GraphQL sont plus adaptés, car les navigateurs ne supportent pas nativement le protocole gRPC. C'est un choix pensé pour la communication interne entre services.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre