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:在 podspec 中添加
gRPC-ProtoRPC依赖 - PHP:执行
pecl install grpc - Python:执行
pip install grpcio - Ruby:执行
gem install grpc - WebJS:按照 grpc-web 的说明进行
可以在此处找到各种语言的快速入门指南和教程:[在 gprc.io 网站的文档部分](https://grpc.org.cn/docs/)。代码示例位于 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 |