grpc客户端跟grpc服务器端在整个交互过程都经历了哪些阶段

  在阅读gRPC-go源码前,我们先从整体上简单了解一下gRPC-go框架中grpc客户端跟grpc服务器端整个的交互过程,都经历了哪些过程;
  在后面的章节中,我们会对每个过程进行详细的分析;
  在grpc-go框架中grpc客户端跟grpc服务器端整个交互主要经历以下阶段:
  grpc客户端跟grpc服务器端整体交互过程,如下图所示:

grpc客户端跟grpc服务器端整个交互过程大概经历了哪些阶段

1)rpc链接建立阶段
 a)建立tcp链接阶段
  i.用户设置链接参数,如拦截器设置,链接地址设置等
  ii.解析器根据链接地址来获取后端对应的grpc服务器地址列表
  iii.平衡器根据grpc服务器地址列表来建立tcp链接
 b)帧交互阶段
  i.grpc服务器端需要自己能够发送的帧大小、窗口大小等信息发送给客户端,
  ii.客户端接收到这些信息后,会更新本地的帧大小,窗口大小等信息
  iii.PRI校验

  1. rpc请求阶段
     a)客户端将请求服务的名称,方法名称、超时时间等信息封装到头帧里,发送给服务器端;
     b)这样服务器端接收到头帧后,就可以解析出客户端请求的方法名称了,如Greeter服务下的SayHello方法名称了
     c)客户端需要将SayHello方法的具体参数值,进行序列化,压缩后,封装成数据帧发送服务器端
     d)服务器端接收到数据帧后,进行解压,反序列化操作后,就得到了请求方法的具体参数值了,如&pb.HelloRequest{Name: name}
     e)服务器端此时已经知道了客户端请求的方法名称,以及该方法名称的具体参数值了,
     f)服务器端开始具体执行方法,如真正执行SayHello方法了;执行完成后,
     g)服务器端创建头帧,将执行的状态信息发送给客户端,如grpc-status, 状态码200
     h)客户端开始接收服务器端的发送的头帧
     i)服务器端将执行结果,进行序列化、压缩后,封装成数据帧,发送给客户端
     j)客户端接收到服务器端反馈的数据帧后,进行解压,反序列化后,,就可以得到SayHello方法的具体执行结果了。

简单总结一下,
rpc链接,其实就是干了四件事:

  • 第一,确定grpc服务器端的地址列表,有哪些;
  • 第二,如何向grpc服务器端发起链接,是链接一个grpc服务器端,还是全部连接,还是选择负载低的grpc服务器进行链接,
  • 第三,调用golang原生的net包,进行tcp链接;
  • 第四,进行http2帧的交互过程,如接下来传输的帧的大小是多少,窗口大小是多少等

rpc请求,干了哪些事?

  • 第一,通过头帧,将客户端请求方法的服务名称,方法名称等信息传输给服务器端;如服务名称为helloworld.Greeter,方法名称为SayHello
  • 第二,通过数据帧,客户端将请求方法的参数值发送给服务器端,
  • 第三,到目前为止,服务器端就知道客户端要执行的哪个服务下的哪个方法了,并且也知道该方法的具体参数值了;就可以具体执行了
  • 第四,服务器端,将具体的执行结果,封装成数据帧,再反馈客户端,这样客户端就获得了最终的执行结果,也就是实现了在本地调用了远程服务中的某个方法,或者说不同内存空间的方法调用

在这里我们只需要简单了解一下grpc客户端跟grpc服务器端交互的整体流程即可。详细流程,会在后面的章节中,慢慢介绍的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容