grpc

作者: ff933ee189cb | 来源:发表于2018-07-26 11:37 被阅读820次

    1.gprc基于http2.0

    2.0与1.1的区别

    多路复用 (Multiplexing)

    在 HTTP/1.1 协议中 「浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制。超过限制数目的请求会被阻塞」。

    HTTP/2 的多路复用(Multiplexing) 则允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。 

    因此 HTTP/2 可以很容易的去实现多流并行而不用依赖建立多个 TCP 连接,HTTP/2 把 HTTP 协议通信的基本单位缩小为一个一个的帧,这些帧对应着逻辑流中的消息。并行地在同一个 TCP 连接上双向交换消息。

    2. gRPC通信方式

    1、 Simple RPC 

    简单rpc 

    这就是一般的rpc调用,一个请求对象对应一个返回对象 

    proto语法:

    rpcsimpleHello(Person)returns(Result){}

    2、 Server-side streaming RPC 

    服务端流式rpc 

    一个请求对象,服务端可以传回多个结果对象 

    proto语法

    rpcserverStreamHello(Person)returns(streamResult){}

    3、 Client-side streaming RPC 

    客户端流式rpc 

    客户端传入多个请求对象,服务端返回一个响应结果 

    proto语法

    rpcclientStreamHello(streamPerson)returns(Result){}

    4、 Bidirectional streaming RPC 

    双向流式rpc 

    结合客户端流式rpc和服务端流式rpc,可以传入多个对象,返回多个响应对象 

    proto语法

    rpcbiStreamHello(streamPerson)returns(streamResult){}

    相关文章

      网友评论

        本文标题:grpc

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