4、获取服务列表
我们要从我们的负载均衡器中看起,因为我们前面就是从负载均衡器中获取对应的server列表
我们可以进入我们的配置类中RibbonClientConfiguration中查看对应的创建。从这里构造方法我们可以看到对应的serverList,所以说他是在创建构造方法的时候就已经获取到对应的服务列表,好我们看他的服务列表是怎么获取的。
好,我们来全文搜索一下 , 这里是从配置文件中获取对应的配置server,因为我们的ribbon可以独立使用的,所以我们这里获取的serverlist应该是空的。
好,这里我们进入负载均衡器的构造方法里面。
这里面有个restofInit方法,好这里的init方法我们可以进去看看,看到这个init或者start方式都是重要方法,我们可以进去看一下
看这个方法,我们可以翻译一下 这里 了开启并初始化学习新服务的特点, 这是什么意思我们可以看一下
他们最后会调用这个updateListOfServers方法,这个是重点后面我们会看到。
=
获取实例
这里就和nacos中获取数据
5、更新服务列表
进行服务赋值,后面就可以使用了
6、重构请求的URL
此时我们需要debug进入这个容器中:
路跟下来发现在⼀个匿名内部类中,发现了很可疑的地点:ServiceRequestWrapper,服务请求的⼀个
包装类,难不成在这⾥重构请求,有点接近了,进去看下:
debug进入就会发现里面对host的替换