SpringCloud踩坑笔记 | Feign负载均衡

 Feign和Ribbon是类似的负载均衡工具。Fegin是声明式的web service客户端,它使得编写Web服务客户端变得更加简单。我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定
 Feign旨在让Java Http客户端变得更容易,同时Feign集成了Ribbon和Eureka来提供均衡负载的HTTP客户端实现
 我们看看如何使用吧

创建新的子工程

首先创建和eureka-consumer一样的子工程,命名eureka-consumer-feign,然后进行些许修改
1.去掉自定义rule和主程序的@RibbonClient注解以及ServiceController类中的所有方法

2.添加依赖


    org.springframework.cloud
    spring-cloud-starter-feign
    1.4.7.RELEASE

3.创建接口
创建service包,并创建接口

package com.ifilldream.leancloud.service;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;

@Component
@FeignClient(value = "eureka-client")
public interface FeignService {
    @GetMapping("/test")
    String consumer();
}

注意:使用@FeignClient来指定服务名称,这里指定了eureka-client服务,@GetMapping("/test")中的/test绑定的就是eureka-client服务中的/test接口

4.修改ServiceController

@RestController
public class ServiceController {
    @Autowired
    private FeignService feignService;
    @GetMapping("/consumer")
    public String consumer() {
        return feignService.consumer();
    }
}

5.启动类

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients()
public class ConsumerFeign {
	public static void main(String[] args) {
			SpringApplication.run(ConsumerFeign.class, args);
	}
}

通过@EnableFeignClients()注解扫描开启Feign

6.测试
 依次启动eureka-server7001、eureka-client8001、eureka-client8002、eureka-consumer-feign,浏览器输入http://localhost:6001/consumer 即可看到效果,此时默认为轮询

统一首发平台为微信公众号iFillDream,搜索关注第一时间掌握最新推送

你可能感兴趣的:(笔记)