BT

Google publie gRPC, un Framework HTTP/2 RPC pour Microservices

| par Abel Avram Suivre 11 Abonnés , traduit par Olivier Gonthier Suivre 0 Abonnés le 13 mars 2015. Durée de lecture estimée: 2 minutes |

Google a rendu open-source gRPC, un framework RPC utilisé en interne pour connecter des microservices. gRPC offre le support de 10 langages, le rendant attractif pour la création de services cloud d'un back-end polyglotte, servant des applications mobiles.

gRPC est un système RPC agnostique aux langages et aux plateformes, développé et utilisé en interne par Google dans différents domaines, incluant les services de cloud computing. Ils vont également exposer la plupart de leurs APIs publiques via ce protocole. Google considère gRPC comme "un moyen de créer des systèmes massivement distribués qui relie les data-centers, et renforçant les applications mobiles, les communications en temps réel, les appareils IoT et les APIs, tout en étant efficace en termes de CPU et de bande passante, et à faible latence".

Bien qu'il puisse être utilisé dans de nombreux scénarios, gRPC vise principalement les architectures microservices. L'interface et le type de données supportées par un service est défini en utilisant un IDL Protocol Buffers. Avec l'aide des compilateurs disponibles, il est possible de générer des stubs serveurs et clients pour 10 langages : C, C++, C#, Go, Java, Node.js, Objective-C, PHP, Python, Ruby. L'implémentation Java semble mature, alors que les autres sont en Alpha (prêtes pour les early-adopters) ou pre-Alpha. A l'exception des implémentations Go et Java, elles sont en fait construites par dessus la core librairie en C. Il n'y a pas encore d'implémentation pour le navigateur, mais Google "explore activement" cette option et accepte les contributions sur le sujet.

Le format de sérialisation des données utilisé par défaut est Protocol Buffers, une nouvelle version Proto3 venant de sortir. En plus d'une syntaxe simplifiée, Proto3 apporte le support de plus de langages et l'encoding JSON. gRPC peut être étendu pour supporter d'autres formats.

A la question "Pourquoi choisir gRPC plutôt que REST pour des microservices", Google a répondu :

gRPC suit largement la sémantique HTTP de HTTP/2, mais nous apportons explicitement la possibilité de faire du full-duplex streaming. Nos conventions divergent des conventions typiques de REST puisque nous utilisons des routes statiques pour des raisons de performances durant la répartition des appels : le parsing des paramètres et du corps du payload ajoutent de la latence et de la complexité. Nous avons également formalisé un set d'erreurs qui, nous le croyons, sont plus directement applicables aux cas d'utilisations des APIs que ne le sont les codes de statut HTTP.

En fournissant le support de librairies clientes pour iOS et Android fonctionnant avec HTTP/2, Google espère que les développeurs utiliseront gRPC pour la création de services back-end pour des applications mobiles. Ils considèrent que "le streaming bi-directionnel, le contrôle du débit, la compression des headers, et le multiplexage des requêtes via une unique connexion TCP" va "réduire la consommation batterie et l'utilisation de data sur les mobiles tout en accélérant les services et applications web fonctionnant dans le cloud".

Le code source de gRPC est disponible sur GitHub sous license BSD.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT