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 |