“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

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

关注

评论

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

校招面试真题 | 面试官必问面试题之你有什么想问我的?

霍格沃兹测试开发学社

网络安全实战之靶场渗透技术

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

结果公布!1024开发者狂欢季踏浪而来,参与赛道主题征文赢取精美奖品!

InfoQ写作社区官方

OpenHarmony 元宇宙 Web3.0 热门活动 “程”风破浪的开发者

TiDB5.0.0-rc性能测试

TiDB 社区干货传送门

版本测评 新版本/特性发布

【kafka原理】Kafka生产者 (分区策略和ACK应答机制)

石臻臻的杂货铺

kafka Kafka实战 10月月更

HTTP - HTTP/2 知识点

懒时小窝

HTTP http2

HCI 解决方案对比:Harvester 和 OpenStack

Rancher

Kubernetes k8s rancher

没错!在 Excel 中也能对海量数据进行明细钻取啦

Kyligence

数据分析 海量数据

新来个技术总监,给团队引入了这款开发神器,同事直呼哇塞

Liam

前后端分离 开发 Postman API 开发效率

图解Kafka中的数据采集和统计机制

石臻臻的杂货铺

kafka Kafka实战 10月月更

Java 编程之标记语句

魏铁锤

10月月更

2022年9月中国网约车领域月度观察

易观分析

网约车

Baklib协作文档平台|企业如何进行文档协同?

Baklib

效率工具 企业 文档 协作 协作文档

牛客刷题系列之进阶版

雪芙花

c c++ 10月月更

6 种 K8s 协同工具,助你提高工作效率

Daocloud 道客

Kubernetes 云原生 kubectl 命令行工具

基于Jmeter压测IoT物联网平台的性能——实践类

阿里云AIoT

Java 物联网 存储 网络性能优化 测试技术

“程”风破浪的开发者|OpenHarmony短信登录及倒计时实现

坚果

OpenHarmony 10月月更 “程”风破浪的开发者

澜舟科技机器翻译新进展:汉语与世界15 种主要语言的翻译超越谷歌

澜舟孟子开源社区

人工智能 机器翻译 nlp 澜舟科技

直击面试!Github爆火2022最新Java面试八股文+简历模板+面试软技能分享

程序员小毕

程序员 程序人生 后端 java面试 简历

立即升级 NGINX 以应对漏洞风险

NGINX开源社区

nginx 安全 漏洞

企业是如何搭建帮助中心的?

Baklib

效率 产品 企业 帮助中心 产品文档

【案例】星环科技×某能源企业:数据中台实践

星环科技

技术内幕 | StarRocks Pipeline 执行框架(下)

StarRocks

数据库

运算符号

魏铁锤

10月月更

如何通过数字体验平台(DXP)更好的为客户提供客户服务

Baklib

知识管理 数字体验

阿里平头哥RISC-V补丁并入安卓系统源代码,RISC-V与安卓融合再提速

Lily

GPU在高性能仿真计算中的应用

Finovy Cloud

高性能 GPU算力

锋云智慧开启“1024猿媛囤书日”活动,千锋原创教材普惠广大技术学习者

千锋IT教育

iphone14到手了?你还需要一个专职管家!

淋雨

iphone 备份

语法结构

魏铁锤

10月月更

“程”风破浪的开发者|程序员必备的这些学习方法与技能你能get到嘛?

浅羽技术

Java 学习方法 “程”风破浪的开发者

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