Nacos源码之服务拉取(RestTemplate)

我们来看一下Demo:

在这里插入图片描述

RestTemplate的处理逻辑

​ 从代码也可以看出,拉取服务的入口就是RestTemplategetForObject方法,先看看RestTemplate里面的调用链:

在这里插入图片描述

​ 可以看到,RestTemplate会将发送拉取服务的请求委托给了ClientHttpRequestexcute方法,ClientHttpRequest是一个接口,这里是它的一个实现类InterceptingClientHttpRequest,我们继续看看InterceptingClientHttpRequestexcute方法的调用链:

在这里插入图片描述

InterceptingRequestExecution其实是InterceptingClientHttpRequest的内部类,因此共享InterceptingClientHttpRequest的成员变量:

在这里插入图片描述

LoadBanlancerInterceptor的处理逻辑

​ 我们继续看看LoadBalancerInterceptorintercept方法:

在这里插入图片描述

BlockingLoadBalancerClientexecute方法:

在这里插入图片描述

​ 可以看到拉取服务实例的核心逻辑在choose方法,我们进到choose方法看看:

在这里插入图片描述

​ 负载均衡器去拉取服务的逻辑比较复杂,我们直接来看看最后的处理逻辑,最后会调用CompositeDiscoveryClient的getInstances方法:

在这里插入图片描述

​ 我们直接看NacosDiscoveryClientgetInstances方法:

在这里插入图片描述

​ 继续看NacosServiceDiscoverygetInstances方法:

在这里插入图片描述

​ 可以看到最底层的发送请求的逻辑还是交给了NamingService来做,我们之前服务注册的底层也是它来负责的。

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值