3、spring cloud服务注册中心eureka---基于feign的负载均衡(第二章)
基于feign的负载均衡
本文中示例代码的引用版本:
org.springframework.boot 版本 :2.1.0.RELEASE
org.springframework.cloud 版本:Greenwich.M1
示例代码-码云 https://gitee.com/sharps/springcloud
spring-cloud-producer-one修改,将其中的controller改动如下:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String index(@RequestParam String name) {
return return "test1:hello"+name+"this is first message!";;
}
}
spring-cloud-producer-two修改,将其中的controller改动如下:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String index(@RequestParam String name) {
return return "test2:hello"+name+"this is first message!";;
}
}
spring-cloud-producer-one 、spring-cloud-producer-two 修改,将其中的remote改动 都修改为 @FeignClient(name=“spring-cloud-producer”)
@FeignClient(name="spring-cloud-producer")
public interface HelloRemote {
@RequestMapping(value = "/hello")
String hello(@RequestParam(value = "name") String name);
}
在配置文件中改动端口:
spring-cloud-producer-one 、spring-cloud-producer-two 修改,将其中的application.properties 都改动为
spring.application.name=spring-cloud-producer
在eureka就会发现两个服务提供者,
然后在浏览器再次输入:http://localhost:9091/hello/llx 进行测试:
第一次返回结果:test1:hello llx this is first message!
第二次返回结果:test2:hello llx this is first message!
不断的进行测试下去会发现两种结果交替出现,说明两个服务中心自动提供了服务均衡负载的功能。如果我们将服务提供者的数量在提高为N个,测试结果一样,请求会自动轮询到每个服务端来处理。
还没有评论,来说两句吧...