写点什么

gRPC 1.0 发布!

  • 2016-08-29
  • 本文字数:931 字

    阅读完需:约 3 分钟

鉴于 gRPC 已进入稳定版分支,并对应用于生产中准备就绪,Google 发布了 gRPC 1.0

gRPC 源于被称为 Stubby 的 Google 内部项目,早期是用于一些 Google 内部服务间的通信。 18 个月前 Google 开源了 gRPC 框架,希望借此 gRPC 能被更广泛地采纳,并在调用 Google 所提供的服务时、通过互联网与其它服务通信时或在自身产品内部应用 gRPC。

gRPC 是与平台无关的 RPC 系统,它使用 Protocol Buffers (ProtoBuf) IDL 定义终端服务和所传输的消息负载,进而可为多种语言生成存根进程(stub)。当前在 Linux、Mac 和 Windows 平台上,gRPC 支持多达十种语言,分别是: C C++ C# Go Java (包括 Java/Android )、 Node.js Objective-C PHP Python Ruby 。gRPC 原生地使用 C、Go 和 Java 语言编程实现,通过包装 C 函数库提供给其它语言使用。为了显示各种 gRPC 实现的通信延迟情况对比,Google 给出了在同一数据中心中不同虚拟机实例间的通信性能精要报告。对于单一的同步安全消息,报告显示作为基准的 Netperf 的延迟大约为 100 微秒,而 C++、Java 和 C#语言实现的延迟大约在 200 到 300 微秒,Ruby、Python 和 Node.js 语言实现的延迟分别在 700 微秒、900 微秒和 1,100 微秒左右。

gRPC 将需传输的消息使用 Protocol Buffers 3.0 序列化为二进制格式。相对于文本格式而言,ProtoBuf 方式可提供更优的性能。据 Google 工程师 Kelsey Hightower 介绍,ProtoBuf 编码的消息比 JSON 格式消息的大小降低了一半,而序列化和反序列化所用的时间仅为后者的三分之一。

与单一 RPC 中一个请求紧跟着一个响应的方式不同,gPRC 使用 HTTP/2 提供客户和服务器间的单向或双向流。gRPC 支持同步通信和异步通信,及 SSL/TLS 和 OAuth2(使用 Google API)方式的认证。

gRPC 支持以 CocoaPods、gem、Gradle、Maven、npm、NuGet、pecl、pip 或 Docker 镜像等方式提供二进制文件,这简化了安装过程。

据Google 宣称,Cisco、CoreOS、Juniper、Netflix 和Square 等企业内部正在使用gRPC。

查看英文原文: gRPC 1.0 is Ready for Production


感谢百占辉对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-08-29 19:004610
用户头像

发布了 227 篇内容, 共 78.6 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

Tomcat目录结构,java基础教程第三版

Java 程序员 后端

vivo官网商城开发团队:同城双活与异地多活架构分析,java面试问项目流程

Java 程序员 后端

volatile 和原子类的异同,画个图理解一下,面试官让我下周来上班

Java 程序员 后端

spring源码系列-beanDefinition(子路)(1),壁虎java视频百度网盘

Java 程序员 后端

spring源码系列-beanDefinition(子路),mybatis和spring整合原理

Java 程序员 后端

Spring面试题整理(1),真是经典中的经典

Java 程序员 后端

Spring面试题整理,springboot视频教程谁的好

Java 程序员 后端

super与this在成员变量,成员方法,构造方法方面的作用

Java 程序员 后端

springcloud(一)注册中心eureka,Mycat和Mysql搭建高可用企业数据库集群

Java 程序员 后端

SQL:我为什么慢你心里没数吗?,java面试说我基础太差

Java 程序员 后端

synchronized 中的 4 个优化,你知道几个?,rocketmq教程教程

Java 程序员 后端

springcloud服务与服务之间的调用(Feign),java支付模块架构

Java 程序员 后端

Spring中经典的9种设计模式,一定要记牢,springboot热启动原理

Java 程序员 后端

Spring学习总结:IOC基础(1),java反射面试题及答案

Java 程序员 后端

String的内存分配与拼接操作,mysql数据库教程课后题答案

Java 程序员 后端

ThreadLocal内存泄漏分析与解决方案,java语言程序设计基础篇答案第六章

Java 程序员 后端

Spring学习总结:IOC基础,2021Java开发现状分析

Java 程序员 后端

YYDS,瞬间秒杀全网,这套Java面试笔记可以解决90,kafka基础架构消费模式

Java 程序员 后端

Web开发基础:JavaScript常用类、面向对象和BOM,java中锁的实现原理

Java 程序员 后端

springcloud(三)网关zuul,mybatis工作流程面试

Java 程序员 后端

Spring框架技术总结(二),java自学视频免费

Java 程序员 后端

SSM框架-SpringMVC详解,java反射和注解原理

Java 程序员 后端

SSM框架整合过程总结,书籍+视频+学习笔记+技能提升资源库

Java 程序员 后端

this与super关键字(阿里巴巴面试竟然问道这个了…,ubuntulinux操作系统实用教程

Java 程序员 后端

VBA常用语法,操作系统原理与linux实践教程申丰山

Java 程序员 后端

VIVO一面竟然翻车,含泪整理了这些Java面经,看完我悟了

Java 程序员 后端

XML简介,kafka教程尚谷

Java 程序员 后端

uniapp props、$ref、$emit,如何保证高可用

Java 程序员 后端

Zookeeper原理篇-Zookeeper启动流程分析,从底层开始带你了解并发编程

Java 程序员 后端

Srping全注解开发---AOP模块,教科书般的排查与分析过程

Java 程序员 后端

tomcat优化——并发和Tomcat线程数,mysql集群原理详解

Java 程序员 后端

gRPC 1.0发布!_开源_Abel Avram_InfoQ精选文章