导入依赖
2.2.9.RELEASE版本Ribbon在spring-cloud-starter-netflix-eureka-client包下
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
通过ResTemplate ,通过服务名进行访问而不是通过ip和端口号查询
然后通过@LoadBalanced注解实现,并且需要部署相应的服务和注册中心集群。
它默认是轮询,可以修改为随机,也可以自定义设置算法,在IRule接口下有很多实现类可以直接用如:下图中的RandomRule()
如果是自定义的算法仿照这个实现类即可。
注意:不要在SpringBoot的启动类的同级目录下创建Configuration,因为它会自动扫描把所有的都设置成了自定义的负载均衡算法