Utilisateur:Alexandre Desbos
Etude du protocole gRPC
Etudiant : Alexandre Desbos
Tuteur : David Télisson
Introduction
Les technologies du protocole gRPC
RPC
Le RPC[1], Remote Procedure Call est un protocole réseaux qui permet de faire des appels de fonctions à distance, une machine peut dire à une autre machine d’effectuer une action, au lieu d’appeler une fonction locale dans une bibliothèque.
Protocol buffer
Le protocol buffers est un outil de sérialisation et désérialisation de données developpé par google. Il utilise un encodage binaire ce qui permet d’avoir un bon typage des messages mais aussi une transmission de données rapide.
HTTP/2
HTTP/2 est la mise à niveau du protocole de transfert hypertexte HTTP/1. C'est un protocole de communication client-serveur, son objectif est d'améliorer les performances des sites Web. HTTP/2 est conçu pour résoudre de nombreux problèmes de performances inhérents à HTTP/1.1. Les principaux avantages sont le mode server push[2] et le multiplexage.
Comparaison de gRPC et REST
Application
Objectif
Dans cette partie, nous allons implémenter un PoC[3] qui montre le fonctionnement du protocole gPRC entre un serveur et un client développées dans des langages différents.
Installation
Dans une invite de commande executé les commandes suivantes pour installer les outils de gRPC.
$pip install grpcio
$pip install grpc-tools
$npm install -g request
$npm config set unsafe-perm true
$npm install protoc-gen-grpc -g
$npm install grpc
$npm install google-protobuf
écrire le fichier proto
création du serveur
création du client
Sources
https://grpc.io/ https://developers.google.com/protocol-buffers