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 |