船新版本:

image.png
Feign就是可以取代Ribbon和Hystrix

2,在Feign服务中service使用@FeignClient注解绑定远程服务(消费者服务)

image.png
这里的方法只是对方法进行声明并没有实现,实现是在远程服务实现的
image.png

3,在Feign的controller写一个FeignController去调用远程服务(消费者)

image.png

4,属性配置

image.png

  1. @FeignClint(name="item-service"
  2. public interface Itemclient{
  3. @GetMapping("/{orderId")
  4. ...
  5. }//拼出一个访问路径:http://item-service/{orderId}

添加依赖
springcloud-Feign声明式客户端做远程调用 - 图6

application.yml

  1. spring:
  2. application:
  3. name: feign
  4. server:
  5. port: 3001
  6. eureka:
  7. client:
  8. service-url:
  9. defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka

主程序添加 @EnableDiscoveryClient@EnableFeignClients

  1. @EnableFeignClients
  2. @EnableDiscoveryClient
  3. @SpringBootApplication
  4. public class Sp09FeignApplication {
  5. public static void main(String[] args) {
  6. SpringApplication.run(Sp09FeignApplication.class, args);
  7. }
  8. }

调用流程
springcloud-Feign声明式客户端做远程调用 - 图7