RPC haute performance via contrats partagés (gRPC)
Problème
Les APIs REST JSON peuvent devenir lentes et verbeuses pour la communication interne entre services. Le typage est souvent dédoublé côté client et serveur.
Solution
Utiliser un framework RPC basé sur HTTP/2 et Protocol Buffers : le service et ses messages sont définis dans un contrat partagé, puis générés dans chaque langage.
Pourquoi c'est utile
- Performance : HTTP/2 + protobuf sérialisé binaire, plus compact que JSON.
- Contrat fort : le fichier
.protosert de source de vérité. - Multi-langage : génération de clients/serveurs pour Go, Java, Python, Node, etc.
- Streaming : support du streaming bidirectionnel natif.
Quand l'appliquer
- Communication interne entre microservices.
- Besoin de performance et de faible latence.
- Écosystème multi-langage avec types partagés.
Quand NE PAS l'appliquer
- API publique exposée à des clients web (REST/JSON est plus universel).
- Debugging via navigateur ou cURL (protobuf est moins lisible).
- Équipe non familière avec Protocol Buffers.