介绍:
很不幸的是,目前进入了维护阶段,未来替代方案为Spring Cloud LoadBalancer
LB:
LB分类:
架构说明:
RestTemplate的两个方法:
开启负载均衡
默认是采取轮询模式,开启的方式很简单,在config包中添加以下代码:(这个要配置在主启动类所在的包里面)
@Configuration
public class ApplicationContextConfig
{
@Bean
@LoadBalanced
public RestTemplate getRestTemplate()
{
return new RestTemplate();
}
}
Ribbon的核心组件:
IRule:根据特定算法从服务列表中选取一个要访问的服务
可以替换默认的调用规则:(操作如下)
在实现的过程中 要注意一下细节:
添加配置类为:(这个要配置在主启动类所在的包外面)
@Configuration
public class MySelfRule {
@Bean
public IRule myRule(){
return new RandomRule(); //定义为随机
}
}
并且去掉@LoadBalanced注解
@Configuration
public class ApplicationContextConfig {
@Bean
// @LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
主启动类添加注解@RibbonClient
@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
public class OrderMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderMain80.class,args);
}
}
name是调用微服务的名称
最后说一下轮询算法原理吧:
好了,本章的介绍到此为止!!!希望对读者有帮助!!!