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网站上的文档部分找到针对各种语言的快速开始指南和教程。代码示例可在示例目录中找到。
每天都会上传gRPC master 分支的 HEAD 的预编译边缘包构建,上传到packages.grpc.io。
开始开发gRPC
欢迎贡献力量!
请阅读如何贡献,该文档将指导您通过整个源代码构建、运行测试以及将更改贡献给gRPC代码库的工作流程。该“如何贡献”文档还包含贡献过程的详细信息以及创建贡献的最佳实践。
故障排除
有时候事情会出错。如果遇到gRPC问题,请查阅故障排除指南。
性能
请查看性能仪表板以查看每日构建的主分支性能数字。
概念
请参阅gRPC 概念
C关于本仓库
本仓库包含多个语言实现、基于共享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 |