gRPC – 一个 RPC 库和框架

gRPC 是一个现代、开源、高性能的远程过程调用 (RPC) 框架,可以在任何地方运行。 gRPC 使客户端和服务器应用程序能够透明地通信,并简化连接系统的构建。

主页 grpc.io
邮件列表 grpc-io@googlegroups.com

Join the chat at https://gitter.im/grpc/grpc

开始使用 gRPC

为了最大程度地提高可用性,gRPC 支持将依赖项添加到用户所选语言的标准方法(如果有)。在大多数语言中,gRPC 运行时都作为用户语言包管理器中提供的包提供。

有关如何为项目使用特定于语言的 gRPC 运行时的说明,请参阅以下文档

每种语言的快速入门指南和教程可以在 grpc.io 网站上的文档部分中找到。代码示例可在 examples 目录中找到。

gRPC master 分支的 HEAD 的预编译前沿包构建每天都会上传到 packages.grpc.io

开始开发 gRPC

欢迎贡献!

请阅读 如何贡献,它将指导您完成构建源代码、运行测试以及向 gRPC 代码库贡献更改的整个工作流程。“如何贡献”文档还包含有关贡献过程如何运作的信息,并包含创建贡献的最佳实践。

故障排除

有时事情会出错。 如果您在使用 gRPC 时遇到问题,请查看 故障排除指南

性能

请参阅 性能仪表板 以获取 master 分支每日构建的性能数据。

概念

请参阅 gRPC 概念

关于此存储库

此存储库包含 gRPC 库的源代码,这些库使用多种语言实现,并基于共享的 C++ 核心库 src/core

不同语言的库可能处于不同的开发状态。 我们正在寻求对所有这些库的贡献

语言 来源
共享 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