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 |