Ribbon通过代码自定义负载均衡规则

Ribbon默认的负载均衡是按照轮循的模式依次调用微服务的。

Ribbon实现方法:

在需要调用其它微服务的客户端的微服务做如下配置:

(1)pom.xml文件引入spring-cloud-starter-ribbon,因ribbon 包含在eureka依赖中,如果已经引入Eureka(spring-cloud-starter-eureka),则不需要再进行引入;

(2)在配置文件中配置eureka的地址:

Ribbon通过代码自定义负载均衡规则

(3)微服务启动类中添加“@LoadBalanced”注解:

Ribbon通过代码自定义负载均衡规则

参照网址:

http://blog.****.net/cwenao/article/details/54565971

Ribbon自定义负载均衡实现方法:

因Ribbon默认的负载均衡是按照轮循的模式依次调用微服务的,如果不想按照这个规则进行负载均衡,则可自定义规则。步骤如下:

(1)    新建规则类“TestConfiguration.java”:

因微服务启动类,默认会扫描其所在目录下的所有配置信息,所以新建规则类要放在启动类同级目录下,并添加“@ExcludeComponentScan”注解:

Ribbon通过代码自定义负载均衡规则

注:这个规则可根据实际情况进行定义。上面定义的是随机的规则。

(2)    在启动类中使用“@RibbonClient”添加使用新规则的微服务:

Ribbon通过代码自定义负载均衡规则

(3)    为了指定指定服务采用新定的规则,需要在启动类同级目录下添加类“ExcludeComponentScan.java”:

Ribbon通过代码自定义负载均衡规则

参照网址:

http://blog.****.net/chenqipc/article/details/53322772
http://blog.****.net/Jeson0725/article/details/70058910
注意:如果报错,注意使用高版本的springboot