BT

gRPC 1.0 est prêt pour la production

| par Abel Avram Suivre 7 Abonnés , traduit par Slim Ouertani Suivre 6 Abonnés le 30 août 2016. Durée de lecture estimée: 2 minutes |

Google a publié gRPC 1.0, le considérant comme stable et prêt pour la production.

gRPC a commencé comme un projet interne chez Google appelé Stubby, utilisé pour la communication par certains de leurs services internes. Google a publié le framework en open source il y a 18 mois avec l'espoir que d'autres l'embrassent et l'utilisent lors de la consommation de services Google, pour la communication avec d'autres services via Internet ou pour leurs produits internes.

gRPC est une plate-forme neutre de RPC qui utilise Protocole Buffers IDL pour définir les services end-point et le message payload à transférer, puis générer des stubs pour plusieurs langues. gRPC prend en charge 10 langages : C, C++, C#, Go, Java (y compris Java/Android), Node.js, Objective-C, PHP, Python et Ruby ; sur Linux, Mac et Windows. Il existe des implémentations natives en C, Go et Java, et des wrappers autour de la bibliothèque C pour les autres langues. Un dashboard sur les performances a été publié par Google pour afficher le temps de latence des différentes communications gRPC entre deux instances VM au sein du même datacenter. Pour les messages sécurisés synchrones et unaires, le graphique montre à base de Netperf des résultats à environ 100 us, tandis que les implémentations en C++, Java et C# prennent environ 200-300 us, alors que Ruby, Python et Node.js sont respectivement à 700, 900 et 1.100 us.

Les messages à transférer sont sérialisés dans un format binaire en utilisant Protocol Buffers 3.0 qui est destiné à fournir de meilleures performances que les formats texte. Par rapport à JSON, protobuf peut réduire la taille d'un message en deux et utiliser le tiers du temps pour sérialiser/désérialiser, selon Kelsey Hightower, un ingénieur chez Google.

À côté des RPCs unaires qui se composent d'une demande suivie par une réponse, gRPC utilise HTTP/2 pour fournir du streaming uni ou bidirectionnel entre le client et le serveur. La communication peut être synchrone ou asynchrone et prend en charge l'authentification via SSL/TLS ou OAuth2 (avec L’API Google).

Le processus d'installation a été simplifié en fournissant des binaires gRPC via CocoaPods, gem, Gradle, Maven, npm, NuGet, pecl, pip, ou des images Docker.

Selon Google, un certain nombre de sociétés, y compris Cisco, CoreOS, Juniper, Netflix et Square, utilisent gRPC en interne.

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