美文网首页
gRPC之基本概念

gRPC之基本概念

作者: tom510230 | 来源:发表于2016-03-21 04:12 被阅读2006次

    基于google官方文档,附带一些自己的思考

    服务(service)

    gRPC可以定义四种服务

    • 简单的request-response
    • request-stream response,一般用于下载
    • stream request-response,一般用于上传
    • 双向流连接,HTTP2.0特性之一

    使用gRPC

    • 服务器端实现服务器端的接口,服务器端处理的是对象
    • 客户端用客户端的接口发送请求,客户端传给服务器端的是对象
      总而言之,对于写业务代码的人,只需要处理业务对象即可,gRPC保证了对象的序列化问题,IDL用的是pb3.0(官方建议3.0,理论上用2.0也是可以的)

    请求

    gRPC支持同步请求和异步请求

    gRPC连接细节

    • 当一个gRPC连接开始的时候,客户端先上传自己的metadata(相当于request包头),然后服务器可以选择马上返回自己的metadata(相当于reponse包头),或者等待客户端上传完包体再返回
    • 客户端可以声明自己的过期时间(deadline),然而此属性是依赖于客户端语言,例如python肯定有过期时间,但是并不是每个语言都有默认的过期时间
    • RPC的异步请求可以取消,同步请求不能取消(有点质疑)
    • gRPC的默认行为是可以改变的,例如是否压缩数据等

    相关文章

      网友评论

          本文标题:gRPC之基本概念

          本文链接:https://www.haomeiwen.com/subject/okjklttx.html