gRPC
活跃简介
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