Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26262
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 149
  • 用 户 组: 普通用户
  • 注册时间: 2019-11-29 16:34
文章分类
文章存档

2020年(14)

我的朋友

分类: 其他平台

2020-02-17 18:54:06

Fegin包含了Ribbon,可以直接实现负载均衡功能。这里我们就在Ribbon的项目稍微进行改造下实现该功能。
了解springcloud架构可以加求求:三五三六二四七二五九
首先在pom文件添加Fegin的依赖包。

点击(此处)折叠或打开

  1. org.springframework.cloud
  2. spring-cloud-starter-openfeign

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

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


点击(此处)折叠或打开

  1. @FeignClient(name= "springcloud-ribbon-consumer2")
  2.     public interface HelloRemote {
  3.         @RequestMapping(value = "/hello")
  4.         public String hello(@RequestParam(value = "name") String name);
  5.     }

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

点击(此处)折叠或打开

  1. @RestController
  2.     public class ConsumerController {
  3.        
  4.         @Autowired
  5.         RestTemplate restTemplate;
  6.         
  7.         @RequestMapping("/hello")
  8.         public String hello() {
  9.             return restTemplate.getForObject("", String.class);
  10.         }
  11.         
  12.        
  13.         @Autowired
  14.         HelloRemote helloRemote;
  15.         
  16.         @RequestMapping("/hello/{name}")
  17.         public String index(@PathVariable("name") String name) {
  18.             System.out.println("接受到请求参数:"+name+",进行转发到其他服务!");
  19.             return helloRemote.hello(name);
  20.         }
  21.     }
添加完之后,重启springcloud-ribbon-consumer服务,然后依旧重复访问 该地址,
访问的结果如下:

点击(此处)折叠或打开

  1. pancm,Hello
  2. pancm,Hello 这是另一个服务!
  3. pancm,Hello
  4. pancm,Hello 这是另一个服务!
  5. pancm,Hello
  6. pancm,Hello 这是另一个服务!






阅读(1029) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~