1.gRPC简介
- gRPC是由google开源的一个高性能的RPC框架。是由Stubby Google内部的RPC演化而来的,在2015正式开源。云原生时代是一个RPC标准。
- gRPC核心的设计思路
- 网络通信--->gRPC自己封装网络通信的部分,提供多种语言的网络通信的封装(C Java[Netty] GO)
- 协议--->采用HTTP2 传输数据,二进制数据内容。支持双向流(双工)连接的多路复用。
- 序列化--->protobuf (Protocol Buffers) google开源一种序列化方式,时间效率和空间效率是JSON的3---5倍。IDL语言
- 代理的创建---> 让调用者像调用本地方法那样 去调用远端的服务方法。stub
- gRPC的优势
- 网络通信协议为HTTP2,优于HTTP1.x
- gRPC大厂背书(Google),云原生时代 与其他组件合作的顺利。所以gRPC应用更广泛。
- gRPC的好处
- 高效的进行进程间通信。
- 支持多种语言,原生支持C、Go、Java实现。C语言版本上扩展 C++ C# NodeJS Python Ruby PHP..
- 支持多平台运行 Linux Android IOS MacOS Windows。
- gRPC序列化方式采用protobuf,效率高。