1. 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
2. 简单实现
@Configuration //相当于在原先的spring applicationContext.xml配置
public class ConfigBean {
@Bean
@LoadBalanced //负载均衡 默认轮训
public RestTemplate getRestTemplate(){
//restful操作的RestTemplate对象
return new RestTemplate();
}
}
3. 更换负载均衡算法
@Bean
public IRule myIrule (){
return new RandomRule();
}
4. 常用负载均衡算法
ClientConfigEnabledRoundRobinRule 轮询可用
RandomRule 随机
RoundRobinRule 轮询
RetryRule 重试
5. 自定义负载均衡算法
参照其他算法源码,实现AbstractLoadBalancerRule接口
@Bean
public IRule myIrule (){
return new AbstractLoadBalancerRule() {
public Server choose(Object key) {
return null;
}
public void initWithNiwsConfig(IClientConfig clientConfig) {
}
};
}