gRPC – 一个 RPC 库和框架
gRPC 是一个现代化的、开源的、高性能的远程过程调用(RPC)框架,可以在任何地方运行。gRPC 允许客户端和服务器应用程序透明地通信,并简化了构建连接系统的过程。
主页 | grpc.io |
邮件列表 | [email protected] |
开始使用 gRPC
为了提高可用性,gRPC 支持添加依赖项到用户选择的语言的标准方法(如果有)。在大多数语言中,gRPC 运行时作为用户语言包管理器中可用的包提供。
有关如何为项目使用特定语言的 gRPC 运行时的说明,请参阅以下文档
- C++:请遵循
src/cpp
目录下的说明 - C#/.NET:NuGet 包
Grpc.Net.Client
、Grpc.AspNetCore.Server
- Dart:pub 包
grpc
- Go:执行
go get google.golang.org/grpc
- Java:使用 Maven Central 仓库中的 JAR
- Kotlin:使用 Maven Central 仓库中的 JAR 包
- Node:运行
npm install @grpc/grpc-js
- Objective-C:将
gRPC-ProtoRPC
依赖项添加到 podspec - PHP:运行
pecl install grpc
- Python:运行
pip install grpcio
- Ruby:运行
gem install grpc
- WebJS:按照 grpc-web 指令操作
可以在 grpc.io 网站的 文档部分找到每种语言的快速入门指南和教程。示例代码在 examples 目录中可用。
每日将构建 gRPC master
分支的 HEAD
版本的预编译 bleeding-edge 软件包,上传到 packages.grpc.io。
开始开发 gRPC
欢迎参与贡献!
请阅读 如何贡献,它将指导您了解如何构建源代码、如何运行测试以及如何向 gRPC 代码库提交更改。该“如何贡献”文档还包含贡献流程的信息和创建贡献的最佳实践。
故障排除
有时事情会出错。如果您在 gRPC 中遇到问题,请查阅 故障排除指南。
性能
查看 性能仪表板,了解 master 分支每日构建的性能数据。
概念
参见 gRPC 概念
关于这个仓库
这个仓库包含在共享C核心库(src/core)之上实现的多个语言的gRPC库的源代码。
不同语言的库可能处于不同的开发状态。我们正在寻求对这些所有库的贡献
语言 | 源码 |
---|---|
共享C [核心库] | src/core |
C++ | src/cpp |
Ruby | src/ruby |
Python | src/python |
PHP | src/php |
C#(基于核心库) | src/csharp |
Objective-C | src/objective-c |
语言 | 源仓库 |
---|---|
Java | grpc-java |
Kotlin | grpc-kotlin |
Go | grpc-go |
NodeJS | grpc-node |
WebJS | grpc-web |
Dart | grpc-dart |
.NET(纯C#实现) | grpc-dotnet |
Swift | grpc-swift |