前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Myicefrog的文章

Myicefrog的文章

作者头像
bert
修改2019-02-22 15:55:12
3320
修改2019-02-22 15:55:12
举报
文章被收录于专栏:ananas-rpc

原文:https://cloud.tencent.com/developer/article/1394336

很赞;

客户端侧比较复杂一些,涉及到这样的流程:

1.查找本地service stub,内存查找,很容易,即RGetServiceStub的调用;

stub对象是远程service在本地的一个抽象,它封装了连接管理,负载均衡,甚至名字查找等功能,对外透明;

2. 远端service可能部署了多个服务进程节点;service stub最终会连接上每一个节点并维护连接,一条连接是个Channel对象,这一步的目标是要选择一个channel发送请求;即GetChannel调用;

该过程较为复杂,如果还没有服务端地址列表,那么需要访问名字服务查询,一个异步的过程;如果有地址列表,但可能还没有建立tcp连接,那么要connect又是一个异步过程,所里这里用了不少future把这些异步操作串联起来了。

3.获取channel后,就可以调用invoke发送rpc消息了;涉及到消息发送以及请求上下文保存,并返回一个future;这个future就是Call返回的了,可以在上面注册callback,以处理收到的rpc响应。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档