RPC,一种理念,远程过程调用,Google基于RPC实现的GRPC框架
- 实现的结构为底层的、基础的接口,提供给公司内部的、外部的各种服务进行调用
- 在传输过程中使用二进制进行传输,使用Protocolbuf、Json进行序列化,使用TCP协议进行传输,传输高效
- 接口由于提供各个服务进行调用,输入输出数据需要严格约束
- 底层使用Http2,二进制帧、多路复用、头部压缩等各种特性助力
接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如netty。
RESTful通常采用http+JSON实现。
Http
- 大部分提供对外的接口,变化频率大的,经常更改的接口参数和返回数据格式
- 底层使用http版本不定