gRPC 是一个现代、开源、高性能的远程过程调用 (RPC) 框架,可以在任何地方运行。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++ 核心库 src/core 编写。
不同语言的库可能处于不同的开发状态。我们正在为所有这些库寻求贡献:
Language | Source |
---|---|
Shared C++ [core library] | src/core |
C++ | src/cpp |
Ruby | src/ruby |
Python | src/python |
PHP | src/php |
C# (core library based) | src/csharp |
Objective-C | src/objective-c |
Language | Source repo |
---|---|
Java | grpc-java |
Kotlin | grpc-kotlin |
Go | grpc-go |
NodeJS | grpc-node |
WebJS | grpc-web |
Dart | grpc-dart |
.NET (pure C# impl.) | grpc-dotnet |
Swift | grpc-swift |