QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:004576
用户头像

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

关注

评论

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

分析一下微信朋友圈的高性能复杂度

NewBranSTONE

架构实战营

微信业务架构图

feitian

架构训练营模块一作业

老猎人

架构实战营 - 模块1 - 作业

Vincent

#架构实战营

介绍一款Hive数仓可视化神器、Dbeaver的配置和使用方法

白贺BaiHe

7月日更 Dbeaver 数仓工具 数据库客户端

模块一作业

Mr.He

架构实战营

架构训练营模块一作业

河马先生

架构实战营

使用perf解决JDK8U小版本升级后性能下降的问题

毕昇JDK社区

非对称风险:你需要为行为结果负责吗?

石云升

读书笔记 风险 7月日更

yidong

方白

数仓开发人员经常说的 ETL、ELT,又有什么区别

奔向架构师

大数据 数据架构 话题讨论 7月日更

电源系统优化设计,低压差稳压器(LDO)如何选型?

不脱发的程序猿

电路设计 LDO 电源系统优化设计 低压差稳压器

模块一:

kk

#架构实战营

模块一作业

乌黑の云

微信业务架构和学生管理系统架构

tjudream

极客时间 架构实战营

【架构训练营】模块一作业

zclau

「架构师训练营第 1 期」

架构实战营作业-模块1

袁小芬

架构实战营

架构训练营 模块一作业

小卷儿

架构训练营第1期 模块一作业

高远

树莓派/PC实现实时摄像头数据共享(Python—OpenCV)

不脱发的程序猿

Python 树莓派 OpenCV 视频通信

架构师实战营 [模块一]作业

三叔叔_拖延症晚期

作业

微信业务架构图 & 学生管理系统

gawaine

架构实战营

树莓派/PC实现实时摄像头数据共享—最优方法(搭建网络摄像头)

不脱发的程序猿

树莓派 网络摄像头 视频通信

iOS如何提升,首先得知自己的处境!(欢迎评论留言)

程序员 编程之路 IT技能 iOS 知识体系

树莓派/PC实现实时摄像头数据共享(Python—picamera)

不脱发的程序猿

Python 树莓派 视频通信 picamera

架构实战营模块1作业

宁静志远

架构实战营-模块一

Testcase

架构实战营

架构实战营模块一作业

子豪sirius

架构实战营

架构训练营模块一作业

高铎

架构实战营

[架构实战营一期]模块一作业

trymorewang

#架构实战营

不同阶段考证有哪些作用

耳东@Erdong

7月日更 考试

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