素材阁

gRPC 速查

共 21 条 gRPC 核心概念与工具,涵盖核心概念、proto 定义、客户端调用、状态与元数据、工具。 支持搜索与分类筛选,点击即可复制。

核心概念

基于 HTTP/2 与 protobuf 的 RPC 框架。

命令说明
接口与数据结构来自 .proto 文件
一元、服务端流、客户端流、双向流
客户端通过 Channel 建立连接,用 Stub 调用方法
像 HTTP 头一样携带键值对(认证、追踪)

proto 定义

服务与消息。

命令说明
定义服务
服务端流式
客户端流式
请求消息

客户端调用

多语言示例。

命令说明
Go 一元调用
Python 调用
Java 调用
设置超时(必须传 ctx)

状态与元数据

错误码与头部。

命令说明
常用状态码
Go 中返回带码错误
发送元数据(如 token)
服务端读取元数据

工具

调试与健康检查。

命令说明
像 curl 一样调用 gRPC
发送请求(需开启反射)
健康检查探针
生成各语言客户端与服务端代码
让 grpcurl 等工具无需本地 proto 即可调用

使用说明

gRPC 速查:核心概念、proto 定义、客户端调用、状态与元数据、工具;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:核心概念、proto 定义、客户端调用、状态与元数据、工具。
  2. 点「命令」列复制到 proto 或客户端代码。
  3. 先用 grpcurl 配反射快速联调,再写正式客户端。
  4. 服务端返回错误要用状态码(codes.*),别只返回字符串。

常见问题

为什么调用要带 context / ctx?
gRPC 的超时、取消与元数据都挂在 ctx 上;不带 ctx 无法控制超时,容易请求悬挂。
grpcurl 一定要本地有 proto 吗?
不一定:服务端开启反射(grpc.reflection)后,grpcurl 可直接列出并调用方法。
需要联网吗?
速查内容本地可用;安装工具与依赖需联网。

延伸阅读

相关工具