gRPC 是什么
高性能,开源通用的RPC框架
RPC
RPC(remote procedure call 远程过程调用)框架提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样
gRPC优势
- 多语言:语言中立,支持多种语言
- 轻量级、高性能:序列化支持PB和json,PB是一种语言无关的高性能序列化框架
- 可插拔
- 基于文件定义服务,通过proto3工具生成指定语言的数据结构,服务端接口以及客户端Stub
- 移动端:基于标准的HTTP2设计,支持双向流,消息头压缩,单TCP的多路复用,服务端推送
grpc HealthCheck
- 标准主动健康检测
- 在gRPC的所有语言实现中基本都提供了生成代码和用于设置运行状态的功能
- 在客户端和服务端网络链接不稳定时,客户端定时检测服务端,感知异常后不使用其提供的服务