2. Présentation
gRPC Remote Procedure Calls
Framework RPC
Développé par Google puis rendu open source
Basé sur HTTP/2
Utilisation de Protocol Buffers comme IDL (Interface Definition Language) par défaut
Licence Apache 2.0
3. HTTP/2
Présentation
Successeur du HTTP 1.1 (1997)
Développement initié par Google en 2009 avec le projet SPDY
Focus sur les performances
Caractéristiques
Meilleure gestion du TLS
Chargement en parallèle des ressources (CSS, JS, etc.)
Compression des headers HTTP
Push de ressources par anticipation depuis le serveur
Compatibilité
Tous les navigateurs récents (CanIUse)
Apache, Nginx, etc.
4. Protocol Buffers
Présentation
Interface Definition Language
Protocole développé par Google
Caractéristiques
Indépendant du langage utilisé
Définition des objets véhiculés avec le langage protobuf
Sérialisation/désérialisation binaire
Compatibilité
C#, C++, Go, Java, Python
5. Types de communication
1-to-1 classique
Streaming côté serveur
Streaming côté client
Streaming bidirectionnel
11. Qui l’utilise et pourquoi ?
Qui ?
Google
Netflix
Docker
Cisco
Pourquoi ?
Architecture microservices
API pour applications mobiles
12. Ressources
Site officiel gRPC
Site officiel Protocol Buffers
Benchmark gRPC/REST
Test de performance HTTP/1.1 vs. HTTP/2
HTTP/1.1 : http://http2.golang.org/gophertiles?latency=0
HTTP/2 : https://http2.golang.org/gophertiles?latency=0
Projet grpc-web
Projet grpc-gateway