断路器 (Hystrix Feign)

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

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

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

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

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

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

    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】成功!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容