11服务方式:gRPC的四种服务方式

今天这篇文章一看标题就比较特别,因为gRPC本身就是分布式微服务常用的一种通信方式,而我们又要探讨gRPC是如何进行通信的,那就是从源码层面来研究下gRPC服务端与客户端之间更为具体的通信方式,作为业界流行的高性能RPC框架,gRPC确实提供了多种通信方式,按照官方文档解释一共分为四种,分别是一元RPC、服务端流式RPC、客户端流式RPC和双向流式RPC,接下来我们就详细的介绍下这几种不同方式的概念与具体使用。

首先我们做一下概览,gRPC的四种通信方式(也叫服务方法):

方式 概念
一元RPC 最基本和最常用的RPC通信方式,传入一个请求对象,返回一个响应对象
服务端流式RPC 客户端传入一个请求对象,服务端返回多个响应对象
客户端流式RPC 客户端传入多个请求对象,服务端返回一个响应对象
双向流式RPC 客户端流式RPC和服务端流式RPC相结合,可以传入多个请求对象,返回多个响应对象

下面我们来逐个讲解:

一元RPC(Unary RPC)

最简单的RPC类型,其中客户机发送单个请求并返回单个响应。

  1. 一旦客户端调用了存根方法,服务器就会收到通知,RPC已被调用,并使用客户端此调用的元数据、方法名和指定的截止日期(如果适用)。
  2. 然后,服务器可以直接发送回自己的初始元数据(

你可能感兴趣的:(《玩转gRPC框架》,服务器,java,网络,rpc,golang)