项目结构
继续在使用上一篇文章项目的基础上,再新建一个模块:server_provider2。
项目结构与内容和server_provider一样,只需要改一下该项目端口。如下图:
然后检查一下,是否在server_consumer中注入restTemplate的地方是否使用了@LoadBalanced
//添加 @LoadBlanced 注解,使得 RestTemplate 接入 Ribbon,使得利用restTemplate能否实现负载均衡
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
为了能够明显看到负载均衡效果,我们修改一下server_provider的HelloController.java
@RestController
public class HelloController {
@RequestMapping("/hello/{msg}")
public String hello(@PathVariable String msg) {
return msg + ",进来了!请坐请坐,这里是9000";
}
}
修改server_provider1的HelloController.java
@RestController
public class HelloController {
@RequestMapping("/hello/{msg}")
public String hello(@PathVariable String msg) {
return msg + ",进来了!请坐请坐,这里是9002";
}
}
接下来依次启动server_provider,server-provider2,server_consumer。
然后分别访问
http://localhost:9001/hello-rest/汤姆猫
会在页面交替显示:
汤姆猫,你好,进来了!请坐请坐,这里是9000
或者
汤姆猫,你好,进来了!请坐请坐,这里是9002
feign框架不需要修改任何东西,就能直接实现负载均衡。
多次访问http://localhost:9001/hello-feign/汤姆猫,也会交替显示
汤姆猫, 我也好,进来了!请坐请坐,这里是9002
或者
汤姆猫, 我也好,进来了!请坐请坐,这里是9000