gRPC 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
gRPC 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
gRPC 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
gRPC 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
gRPC 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

gRPC 是可以在任何环境中运行的现代开源高性能 RPC 框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。

开源中国组织翻译的《gRPC 官方文档中文版》:http://doc.oschina.net/grpc

gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

服务接口定义示例:

message HelloRequest {
  string greeting = 1;
}

message HelloResponse {
  string reply = 1;
}

service HelloService {
  rpc SayHello(HelloRequest) returns (HelloResponse);
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (26)

加载中
前排
02/09 11:48
回复
举报
很早的时候,曾经留意过的东西,一直没有时间看看,后面看看
02/07 20:30
回复
举报
请问服务端和客户端之间传输数据的压缩格式是什么啊?
2020/09/23 17:21
回复
举报
这么一来,模型类写到serviceli里,模型类怎么公用啊????,dao层难道还要另起一套model模型类???
2019/09/04 10:55
回复
举报
我遇到跟你一样的问题,求解决。
2020/09/08 15:35
回复
举报
可以 封装一个SDK 来进行调用。
2020/12/18 15:51
回复
举报
不支持服务器主动通知客户端 怎么处理的呢?能否帮忙解答一下?
2018/05/04 11:11
回复
举报
打分: 推荐
异步为什么会变成反人类的设计
2017/09/26 08:59
回复
举报
打分: 推荐
异步接口确实不好玩。。
2017/09/01 19:40
回复
举报
打分: 较差
两个个问题:(1)不支持服务器主动通知客户端(可以通过流模式实现服务器往客户端发生数据,但是实现麻烦还不如自己写通信)。(2)异步服务器接口是反人类的设计
2017/06/15 11:13
回复
举报
就是web接口
2017/06/12 21:44
回复
举报
好东西!
2017/06/05 23:46
回复
举报
更多评论
昨天 07:05

gRPC 1.36.0 发布,高性能 RPC 框架

gRPC 1.36.0 版本已发布。详细的 gRPC 文档请参阅 grpc.io,此版本包含一些改进和错误修复,下面列出了本次更新的一些重点内容: Core 删除在 c-ares DNS 解析器中设置的不必要的 pollset set。(#25296) 修复 zlib + macOS 中的隐式声明错误。(#24979) 支持 Tls Credentials 中的 Default Root Certs。(#25018) C++ 将第三方身份 C++ api 从实验性命名空间移出。(#25379) refactor!: 将 error_details 函数更改为 ...

0
3
发表于软件架构专区
01/21 07:46

gRPC 1.35.0 发布,高性能 RPC 框架

gRPC Core 的 1.35.0 已经发布,详细的 gRPC 文档请参阅 grpc.io,此版本包含改进和一些错误修复,下面列出了本次更新的一些重点内容: Core Backport “修复 zlib + macOS 中的隐式声明错误 #24979”。 (#25133) xDS 功能文档更新了对大小写不敏感的前缀/完整路径匹配。 (#24999) 将 darwin_arm64 和 darwin_arm64e 添加到 c-ares 配置设置中。(#24872) 添加 FileWatcher CertificateProvider。(#24600) 使用环境变量 GRPC...

6
1
发表于软件架构专区
2020/12/04 08:27

gRPC 1.34.0 发布,高性能 RPC 框架

gRPC Core 的 1.34.0 版已经发布,详细的 gRPC 文档请参阅 grpc.io,此版本包含改进和一些错误修复,下面列出了本次更新的一些重点内容: Core 使用环境变量“ GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT”保护 xds 安全代码。(#24782) 添加对“ unix-abstract:” URI 的支持,以支持抽象的 unix 域套接字。(#24500) 解析未垂直的 SAN 字段时的增量索引。(#24601) 还原“revert”不推荐使用 GRPC_ARG_HTTP2_MIN_SENT_PI...

0
5
发表于软件架构专区
2020/10/03 13:06

Cloudflare 宣布支持 gRPC

近日,Cloudflare 官方宣布开启对 gRPC 的支持,目前正处于 beta 阶段。 2015 年,谷歌推出 gRPC,这是一款高性能且通用的开源 RPC 框架,基于 HTTP/2 标准设计。但是,Cloudflare 称,正是因为 gRPC 采用了 HTTP/2 这样较新的技术,现有的安全性和性能工具难以支持 gRPC 通信。 通常大多数反向代理解决方案都会将 HTTP 请求降级为 HTTP/1.1,然后再发送给原始服务器。gRPC 在大大提高效率的同时,其 HTTP/2 传输机制却给部分用...

2
3
发表于服务端专区
2020/09/10 07:39

gRPC 1.32.0 发布,高性能 RPC 框架

gRPC 1.32.0 稳定版已发布,gRPC 是一款开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,也是谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 此版本更新内容包括 bugfix 以及功能改进。 Core 从remove_stream上的停滞列表(stalled list)移除流数据 (#23...

3
7
发表于服务端专区
2020/08/07 07:50

gRPC 1.30.1 发布,谷歌开源的高性能 RPC 框架

gRPC 1.30.1 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 新版本包含改进和错误修复,主要更新内容如下: Core 此版本中添加了以下新的 xDS 功能: 根据路径(前缀、完整路...

3
2
发表于软件架构专区
2020/06/27 07:45

gRPC 1.30.0 发布,谷歌开源的高性能 RPC 框架

gRPC 1.30.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 新版本包含改进和错误修复,主要更新内容如下: Core 此版本添加了一个称为 xds 的 xDS URI 方案,这是 v1.28.0 ...

1
8
发表于开发技能专区
2020/04/20 07:48

谷歌开源 Kotlin 版本 gRPC

谷歌开源了 gRPC-Kotlin/JVM,让开发者可以在 Kotlin 项目中更方便地使用 gRPC,以更简单的方式构建可靠的网络连接服务。 gRPC 是谷歌开源的高性能、通用 RPC 框架,支持多种编程语言,包括 C++、Java、Objective-C、Python、Ruby、Go、C# 与 Node.js 等。gRPC 基于 Protocol Buffers,它面向移动和基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好...

12
12
发表于软件架构专区
2020/04/03 07:32

gRPC 1.28.0 发布,谷歌开源的高性能 RPC 框架

gRPC 1.28.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 主要更新内容如下: Core feat:从 quota_project_id字 段添加 x-goog-user-project 标头 (#21324) 重新引入 #2...

6
8
发表于软件架构专区
2020/02/06 07:54

gRPC 1.27.0 发布,谷歌开源的高性能 RPC 框架

gRPC 1.27.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 主要更新内容如下: Core 在 Windows 上使用 OpenSSL1.1.1+ 修复构建 (#21611) 添加一个新的子模块 libuv v1.34....

2
10
发表于开发技能专区
2019/10/14 07:41

gRPC 1.24.2 发布,谷歌开源的高性能 RPC 框架

gRPC 1.24.2 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 此版本包含细节优化、改进和 bug 修复,详情查看更新说明: https://github.com/grpc/grpc/releases 关于 1.24.0...

7
7
发表于AI & 大数据专区
2019/09/27 07:21

gRPC 1.24.0 发布,谷歌开源的高性能 RPC 框架

gRPC 1.24.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 主要更新内容如下: Core gRPC Core 开始依赖于 C++ 标准库,如 libstdc++,具体取决于平台。这适用于所有包装的...

3
2
发表于服务端专区
2019/08/18 07:33

gRPC 1.23.0 发布,谷歌开源的高性能 RPC 框架

gRPC 1.23.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 主要更新内容如下: Core 反向移植 #19924 到 v1.23.x. (#19935) 为自定义 iomgr 添加缺少的 APP 回调上下文 (#...

1
8
发表于服务端专区
2019/07/04 07:14

gRPC 1.22.0 发布,谷歌开源的高性能 RPC 框架

gRPC 1.22.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 主要更新内容如下: Core 不需要构建 upb 作为 cmake 构建的一部分(对于 v1.22.x) (#19432) 将热路径中的 Trac...

0
10
发表于服务端专区
2019/06/02 07:08

gRPC 1.21.2 发布,谷歌开源的高性能 RPC 框架

gRPC 1.21.2 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 新版本是一个修复版本,更新如下: PHP 修复了 PHP 扩展的段错误(segfault) (#19471) 修复了 ZTS 构建失败的问...

11
7
发表于软件架构专区
2019/05/23 06:59

gRPC 1.21.0 发布,谷歌开源的高性能 RPC 框架

grpc 1.21.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 新版包含改进和错误修复,更新亮点如下: core Service Config 更改为在无效服务配置上的瞬时故障中设置通道 将备...

9
8
2019/04/27 07:19

gRPC 1.20.1 发布,谷歌开源的高性能 RPC 框架

gRPC 1.20.1 发布了,gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 新版包含改进和错误修复,更新亮点如下: Core revert "Enable SIO_LOOPBACK_FAST_PATH on Windows" (for v1.20....

6
15
2019/01/16 07:30

grpc 1.18.0 发布,谷歌开源的高性能 RPC 框架

grpc 1.18.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 1.18.0 更新内容主要是优化、改进和 bug 修复,列出重点如下: Core Use 32 bit nanopb fields. (#17249) Put mo...

2
9
发表于服务端专区
2018/12/16 07:22

gRPC 1.17.2 发布,谷歌开源的高性能 RPC 框架

gRPC 1.17.2 发布了,gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 1.17.2 主要是修复了昨天发布的 1.17.1 版本中出现的 bug,是由 Bazel 0.20 弃用的工作空间导入引起的问题(#173...

0
7
发表于软件架构专区
2018/12/09 07:58

gRPC 1.17.1 pre 1 发布,谷歌开源的高性能 RPC 框架

gRPC 1.17.1 pre 1 发布了,gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 更新如下: Core 将 xds 插件名称更改为 xds_experimental,直到它可以使用。(#17405) 更好的窗口读取切片...

0
11
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/05/29 15:02

grpc

更多请参考:https://grpc.io/docs/quickstart 一、准备工作 1. grpc编译安装 >yum install -y gcc-c++ autoconf libtool >yum groupinstall -y "Development Tools" >git clone https://github.com/grpc/grpc >cd grpc >git submodule update --init ># 最好是放到/etc/profile GRPC_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export PATH=$PATH:$GRPC_PATH/bins/opt:$GRPC_PATH/bins/opt/protobuf export CP...

0
0
发表于云计算专区
2020/11/21 21:43

gRPC

gRPC 本文转载自http://www.topgoer.com/ - gRPC 安装 gRPC简介 Protobuf⇢Go转换 Protobuf语法 小案例 OpenSSL安装 认证 拦截器 内置Trace HTTP网关 本文同步分享在 博客“雪域迷影”(CSDN)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

0
0
发表于软件架构专区
2019/09/21 15:23

gRPC

概述 官方网站https://grpc.https://grpc.io/ gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and brows...

0
0
发表了博客
2019/06/05 13:37

gRPC

## gRPC https://grpc.io/ http://grpc.github.io/ https://github.com/grpc/grpc https://github.com/grpc/grpc-java ## protobuf https://github.com/protocolbuffers/protobuf https://developers.google.com/protocol-buffers/docs/overview ## 教程 http://doc.oschina.net/grpc?t=60134 ## grpc-spring-boot-starter https://github.com/yidongnan/grpc-spring-boot-starter...

0
0
发表了博客
2020/04/20 11:09

grpc-gateway--支持grpc和restful

The grpc-gateway is a plugin of the Google protocol buffers compiler protoc. It reads protobuf service definitions and generates a reverse-proxy server which 'translates a RESTful HTTP API into gRPC. This server is generated according to the google.api.http annotations in your service definitions. grpc-gateway是protoc的一个插件。它读取gRPC服务定义,并生成一个反向代理服务器,将RESTful JSON API转...

0
0
发表了博客
2018/07/20 10:04

Grpc

Channel-stub-method调用 ClinetCallImpl:客户端调用类,主要是start()方法; 其中包含了CallOptions对象,设置相关参数; GrpcUtil:包括了常量,可以反查相关参数功能; NettyServerBuilder:服务端使用,配置相关参数; ManagerChannelBuilder:客户端使用,实现类包括NettyChannalBuilder,可设置相关参数; 参数 说明 bossEventLoopGroup 如果没指定,默认为一个static共享的对象,即JVM内所有的NettyServer都使用同一个Group,默认...

0
0
发表了博客
2020/10/06 12:05

【C# .Net Framework】在.Net Framework中使用gRPC

随着.Net Core 3.0及后续版本的出现,微软似乎正在放弃极具Windows特征的WCF。作为WCF的替代者,VS Code 或VS2019已经有基于.Net Core 3.0平台的“gPRC项目模板”。这个模板极大地简化了gRPC的开发过程。 gRPC也可应用于.Net Framework。由于VS2019没有提供基于.Net Framework平台的“gPRC项目模板”,开发者需要用手工方式处理。本文采用VS2019,以.Net Framework 4.7.2为例,描述gPRC的实现步骤。 步骤一、 创建解决方案及项目...

0
0
2020/07/29 23:44

grpc实践-学会grpc就是这么简单

前言 内容描述 hello,我是asong,这是我的第七篇原创文章。上一篇我们使用go的标准库rpc进行实践,使用起来还是很方便的,这一篇我们来学习一grpc。 1 GRPC gRPC是Google开发的高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。他的目标是跨语言开发,支持多种语言。 在gRPC里客户端应用可以像调用本地对象一样直...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2017/09/11 10:47

grpc 长时间未访问,连接自动关闭问题

grpc连接,长时间未访问,待再次访问的时候报错“rpc:error:code=13 desc=transport is closing”,然后再访问,接口又不报错了。 不确定是否是长时间未访问,grpc会自动关闭连接。如果是grpc自动关闭的话,该怎么设置参数避免出现这种问题。

4
0
发表了问答
2017/10/23 09:33

分布式水平扩展是什么样的结构,zookeeper等到底是如何治理服务的?

我知道单一应用项目做分布式,做水平扩展,就是直接复制项目实例,用一定的负载分发机制代理请求,比如用nginx+多台tomcat的形式,每台tomcat部署相同的项目,使用redis管理session,保证session的一致性。 但是现在单一应用慢慢无法满足项目的需求,缺点这里就不介绍了,于是有了微服务架构,有了rpc,resful等soa的方式,如将单一应用拆分为多个服务,使用dubbo +zookeeper 的方式进行管理。 我的问题是,无论是dubbo还是mot...

1
0
发表了问答
2016/07/07 16:44

关于Grpc中,ManagedChannel.shutdown(客户端关闭)的问题

grpc版本:0.14.1 服务端,客户端均使用的是java 服务端代码: package com.rpc.login; import io.grpc.Server; import io.grpc.netty.NettyServerBuilder; public class GrpcServer {   public static void main(String[] args) throws Exception {     Server server = NettyServerBuilder.forPort(8080).addService(LoginServiceGrpc.bindService(new LoginServiceImpl())).build();     server.start();     System.out.println(...

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
26 评论
819 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部