写点什么

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

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

关注

评论

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

新一代构建工具(1):对比rollup/parcel/esbuild—esbuild脱颖而出

zhoulujun

Rollup webpack esbuild

居家办公让我绩效拿了C | 社区征文

大菠萝

初夏征文

揭秘GES超大规模图计算引擎HyG:图切分

华为云开发者联盟

人工智能 图计算 图切分

web内容如何保护:如何有效地保护 HTML5 格式的视频内容?

zhoulujun

DRM 视频版权保护 数字版权保护 h5视频版权

什么是算子?

华为云开发者联盟

人工智能 算子

微博评论的计算架构

极客土豆

华为发布两大昇腾计划 推动AI人才发展和科研创新

郝俸🦁好棒

昇腾

TLog 助力盘古框架实现微服务链路日志追踪

码农大熊

盘古开发框架

面对AI人才培养的“产学研”鸿沟,昇腾AI如何做厚产业人才黑土地?

脑极体

先到先得!“阿里爸爸”全新出品SpringBoot高级笔记(全彩版)

Java全栈架构师

Java 源码 程序员 面试 springboot

源码其实很简单!阿里巴巴最新出品Spring学习脑图+视频+文档真香

Java全栈架构师

Java spring 源码 程序员 面试

数据治理,说起来容易,做起来难

奔向架构师

数据治理 数据资产 6月月更

《网络是怎么样连接的》读书笔记 - 集线器、路由器和路由器(三)

懒时小窝

网络编程 网络

网络协议之:redis protocol详解

程序那些事

网络协议 程序那些事 6月月更

Wireshark网卡无法找到或没有显示的问题

岚哲

网络 Wireshark 域名 vpn 网卡

Pipenv中安装Django

宇宙之一粟

django 6月月更

MyBatis 执行流程及源码解析

码农参上

mybatis java实战

六大专题全方位优化,阿里巴巴性能优化小册终开源,带你直抵性能极致

Java全栈架构师

Java 程序员 面试 性能优化

Flutter 网络请求封装之Dio(Cookie管理、添加拦截器、下载文件、异常处理、取消请求等)

yechaoa

flutter android 6月月更 dio

社招两年半10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)

CoderW

Java 面试 简历模板 大厂

DDD概念复杂难懂,实际落地如何设计代码实现模型?

Java全栈架构师

程序员 后端 领域驱动设计 DDD 架构师

TML转义字符:xss攻击与HTML字符的转义和反转义

zhoulujun

XSS xss攻击 转义字符 反转义

中断操作:AbortController学习笔记

zhoulujun

喜报|海泰方圆通过CMMI-3资质认证,研发能力获国际认可

电子信息发烧客

解析数仓lazyagg查询重写优化

华为云开发者联盟

数据库 后端

Java代码优化请求合并与分而治之

码农参上

Java 大数据 高并发 java实战

IET出席2022世界科技社团发展与治理论坛 为构建国际科技共同体献言献策

E科讯

Tiger DAO VC产品正式上线,Seektiger生态的有力补充

鳄鱼视界

Maven 基础

zarmnosaj

6月月更

SDN系统方法 | 10. SDN的未来

俞凡

架构 网络 sdn SDN系统方法

HotSpot JVM 「01」类加载、链接和初始化

Samson

学习笔记 hotspot 6月月更

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