首页 网络技术
  1. 正文

SpringCloud中如何利用Ribbon实现负载均衡


首先在pom文件添加Fegin的依赖包。


<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

然后在springcloud-ribbon-consumer项目的启动类上添加@EnableFeignClients注解,启用feign进行远程调用。

添加完成之后,新建一个类,实现feign远程调用。
代码如下:


@FeignClient(name= "springcloud-ribbon-consumer2")
 public interface HelloRemote {
@RequestMapping(value = "/hello")
public String hello(@RequestParam(value = "name") String name);
}

最后在提供一个新的接口供外部调用。这里就直接在之前的代码上新加一个接口了。
代码如下:


@RestController
public class ConsumerController {
 @Autowired
RestTemplate restTemplate;
@RequestMapping("/hello")
public String hello() {
return restTemplate.getForObject("http://springcloud-ribbon-consumer2/hello/?name=xuwujing", String.class);
}
 @Autowired
HelloRemote helloRemote;
@RequestMapping("/hello/{name}")
public String index(@PathVariable("name") String name) {
System.out.println("接受到请求参数:"+name+",进行转发到其他服务!");
return helloRemote.hello(name);
}
}

添加完之后,重启springcloud-ribbon-consumer服务,然后依旧重复访问 http://localhost:9006//hello/pancm 该地址,了解springcloud架构可以加求求:三五三六二四七二五九
访问的结果如下:

pancm,Hello World!pancm,Hello World! 这是另一个服务!pancm,Hello World!pancm,Hello World! 这是另一个服务!pancm,Hello World!pancm,Hello World! 这是另一个服务!

本文标题:SpringCloud中如何利用Ribbon实现负载均衡
本文链接:https://www.qqooo.cn/post/5156.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 xsds@vip.qq.com 处理,谢谢!