0
点赞
收藏
分享

微信扫一扫

Nacos 源码分析04 客户端处理请求

客户端启动方法start

Nacos 源码分析04 客户端处理请求_客户端

1.新建一个后台的定时任务线程

2.如果client是已连接,就发一个连接通知 notifyConnected

Nacos 源码分析04 客户端处理请求_返回结果_02

3.客户端主动进行健康检查

Nacos 源码分析04 客户端处理请求_d3_03

4.获取serverList信息

Nacos 源码分析04 客户端处理请求_客户端_04

5.客户端切换重连server服务器

Nacos 源码分析04 客户端处理请求_客户端_05

6.如果客户端连接server失败,就按照配置的策略进行重试

Nacos 源码分析04 客户端处理请求_d3_06

7.客户端连接server成功,那么就发送CONNECTED事件 ;连接不成功,就异步切换server; 然后直接注册register,处理server端发过来的请求request

Nacos 源码分析04 客户端处理请求_d3_07

+++++++++++++++++++++++++++++++++++++++++++

客户端执行健康检查healthCheck()

Nacos 源码分析04 客户端处理请求_客户端_08

Nacos 源码分析04 客户端处理请求_客户端_09

+++++++++++++++++++++++++++++++++++++++++

客户端同步发送请求request

Nacos 源码分析04 客户端处理请求_客户端_10

1.校验当前连接connect是正常的,然后调用reqeust方法,发送请求到server

   返回response;如果返回的response是错的,就切换server

Nacos 源码分析04 客户端处理请求_d3_11

2.发送请求出错,就把客户端设置为不健康的unhealthy,同时切换server

+++++++++++++++++++++++++++++++++++++++++

客户端异步发送请求request  不返回结果

Nacos 源码分析04 客户端处理请求_客户端_12

调用异步发送,如下,如果出错由回调函数处理

Nacos 源码分析04 客户端处理请求_d3_13

Nacos 源码分析04 客户端处理请求_客户端_14


客户端异步发送请求request  处理返回结果 

Nacos 源码分析04 客户端处理请求_d3_15

底层调用返回requestFuture对象,然后调用get方法获取异步回调返回值

Nacos 源码分析04 客户端处理请求_d3_16

举报

相关推荐

0 条评论