断路器 (Hystrix Feign)

  1. 启动【服务中心】集群,Eureka Server

  2. 启动【服务提供者】集群,Eureka Client

  3. 启动【服务消费者】应用,Eureka Feign

  4. 复现上一章节的问题,(其实我没复现出来,未找到原因!!!)

  5. 加入熔断机制(eureka-feign)
    5.1 添加pom依赖:

    
        org.springframework.cloud
        spring-cloud-starter-netflix-hystrix
    
    

    5.2 修改类文件(启动类&&业务层)
    启动类:

    @EnableHystrix // Feign默认是开启,这个注解可以不加的
    @EnableDiscoveryClient // 启用 Eureka 服务发现
    @EnableFeignClients // 启用 Feign
    @SpringBootApplication
    public class EurekaFeignApplication {
        public static void main(String[] args) {
            SpringApplication.run(EurekaFeignApplication.class, args);
        }
    }
    

    业务层(追加fallback配置):

    @FeignClient(value = "EUREKA-CLIENT", fallback = EurekaFeignServiceFailure.class)   //调用的服务名称,大小写不影响
    public interface EurekaFeignService {
        @RequestMapping("/info")
        String getInfo();
    }
    

    服务调用失败处理类,EurekaFeignServiceFailure

    @Service
    public class EurekaFeignServiceFailure implements EurekaFeignService {
        @Override
        public String getInfo() {
            return "网络繁忙,请稍后重试!!!";
        }
    }
    

    配置文件yml,开启htstrix

    feign:
      hystrix:
        enabled: true
    
  6. 重启【服务提供者】,重启【服务消费者】

    别做了,气人,测不出效果来,服务提供者挂了,注册中心自动就把它踢除了,mmp!!!\

    不晓得,别人怎么弄好的..............

【断路器 Feign】成功!!!

你可能感兴趣的:(断路器 (Hystrix Feign))