GRPC
介绍
Grpc 是 Google 开源的一个高性能、通用的远程过程调用(RPC)框架,一般用于各种微服务之间的通信,相比于 REST API(GET、POST 等)有更快的响应速度
核心思想:
👉 就像调用本地函数一样去调用远程服务器上的函数。
特点
基于 HTTP/2 协议
支持多路复用(一个 TCP 连接上并行多个请求)
支持流式传输(双向流、单向流)
头部压缩,传输更快
使用 Protobuf(Protocol Buffers)作为接口描述语言(IDL)和序列化协议
数据传输比 JSON/XML 更小、更快
跨语言:C/C++、Go、Java、Python、Node.js、C#、Ruby、PHP 都能用
支持多种通信模式
Unary RPC:一问一答
Server streaming RPC:客户端发一次请求,服务器连续推送数据流
Client streaming RPC:客户端连续发流,服务器最后返回一次
Bidirectional streaming RPC:客户端和服务器都可以不断发消息(类似 WebSocket)
强类型 + 自动生成代码
你在
.proto文件里定义好接口和数据结构gRPC 工具会自动生成各个语言的客户端和服务端代码
避免了手动写 API 协议
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Alvin
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果