菜鸟笔记
提升您的技术认知

loadbalancerclient 实现负载均衡的简单原理-ag真人游戏

loadbalancerclient 翻译过来就是负载均衡客户端:

loadbalancerclient取=寻找服务的简单流程:
ribbon 里面封装了 获取全部服务的接口(getallserverlists的方法), 其中通过filter过滤一部分服务,然后, ribbon 的irule对象, 选择一个有效的服务返回给调用方,(其中irul默认是通过轮训的方式,返回一个服务).
springcloud提供了loadbalancerclient,它继承了ribbon的接口.我们之间引入这个loadbalancerclient就可以进行服务的查找

我们在springcloud中创建一个loadbalancerclient,然后去追踪代码的形式,看看他的大致获取服务原理:

其实他的实现只有一个就是ribbonloadbalancerclient

choose调用的this.getserver

然后接着向下找

你会发现我们前面所说的role出现了.

这句代码应该可以看得懂,默认的就是 new roundrobinrule(),就是循环的规则.我们所说的轮训的方式,他是怎么轮训的呢?

可以继续追踪代码,调用的父类的方法...我们大概了解到这就可以了,以为我们一般也不需要去改变这个获取服务的方式.

 

网站地图