grpc 学习

参考文档:

RPC :http://www.imooc.com/article/285514

grpc 中文文档:http://doc.oschina.net/grpc?t=60138

RPC概念:(参考:http://www.imooc.com/article/285514)

  RPC(远程过程调用)一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远端系统资源。一般来说,RPC框架实现的架构原理都是类似的。

 

     客户端调用:负责发起RPC调用,为调用方用户提供使用API。

    服务端响应:主要是服务端业务逻辑实现。

    序列化/反序列化:负责对RPC调用通过网络传输的内容进行序列化与反序列化,不同的RPC框架有不同的实现机制。一般分为文本(XML、JSON)与二进制(Java原生的、Hessian、protobuf、Thrift、Avro、Kryo、MessagePack),需要注意的是,不同的序列化方式在可读性、码流大小、支持的数据类型及性能等方面都存在较大差异,我们可以根据需要自行选择。

    Stub:我们看成代理对象,它会屏蔽RPC调用过程中的复杂的网络处理逻辑,使其透明简单,且能够保持与本地调用一样的代码风格。

    通信传输:即RPC的底层通信传输模块,一般通过Socket在客户端与服务端之间传递请求与应答消息。

posted @ 2019-12-24 16:30  shmily3929  阅读(412)  评论(0编辑  收藏  举报