基于上一篇远程调用服务,基础上加了负载均衡策略
<dependency>
<groupId>com.netflix.ribbon</groupId>
<artifactId>ribbon-loadbalancer</artifactId>
<version>2.7.17</version>
<scope>compile</scope>
</dependency>
因为服务提供方很可能不知一个,所以需要均衡一下 注入bean,在服务端或者消费端注入都可以
public IRule myRule(){
//return new RoundRobinRule();
//return new RandomRule();
return new RoundRobinRule();
}}
也可用自己配置负载均衡策略
简单就用new random() 轮询的话,
AtomicInteger atomicInteger = new AtomicInteger();
int andIncrement = atomicInteger.getAndIncrement();
List<InstanceInfo> provider = client.getInstancesByVipAddress("PROVIDER", false);
provider.get(andIncrement%provider.size());