BT

Êtes-vous prêts pour InfoQ 3.0? Testez le nouveau design et dites-nous ce que vous en pensez!

gRPC 1.0 est prêt pour la production

| par Abel Avram Suivre 12 Abonnés , traduit par Slim Ouertani Suivre 9 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
BT