gRPC

活跃
GitHub C++ Apache-2.0

简介

Google 开源的高性能 RPC 框架,支持跨语言服务通信,是微服务架构的核心基础设施。

核心特性

  • HTTP/2 多路复用 — 基于 HTTP/2 实现低延迟双向流式传输
  • Protocol Buffers IDL — 用 .proto 文件定义服务接口,自动生成多语言客户端和服务端代码
  • 10+ 语言 SDK — 官方提供 C++、Python、Java、Go、Node.js、Ruby 等成熟语言绑定
  • 双向流式 RPC — 支持服务端推送和客户端流式,适配实时通信场景
  • 弹性通信机制 — 内置重试、超时、熔断和负载均衡能力
  • 可插拔认证 — 支持 TLS、ALTS、OAuth2 及自定义认证凭证

适用场景

💡 微服务内部通信:构建低延迟、高吞吐的服务间调用层
💡 移动端与后端同步:高效传输实时数据和状态更新
💡 跨语言 Polyglot 架构:不同语言服务间的透明互调
💡 实时流式应用:在线游戏和实时协作的双向数据流场景

快速开始

# 安装 gRPC
pip install grpcio grpcio-tools

# 编写 .proto 定义服务
# greeter.proto:
# syntax = "proto3";
# service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} }

# 生成 Python 代码
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. greeter.proto

# 运行
python greeter_server.py
python greeter_client.py

相关项目