Day10-feign结合Hystrix使用-p163、p164

eign结合Hystrix使用

  • feign结合Hystrix使用-改造service-edu模块
    • 1、在service的pom中添加依赖
    • 2、在配置文件中添加hystrix配置
    • 3、在service-edu的client包里面创建熔断器的实现类
    • 4、修改VodClient接口的注解
    • 5、测试熔断器效果

feign结合Hystrix使用-改造service-edu模块

1、在service的pom中添加依赖

Day10-feign结合Hystrix使用-p163、p164_第1张图片


        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
        dependency>

        
         <dependency>
             <groupId>org.springframework.cloudgroupId>
             <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
         dependency>
        
         <dependency>
             <groupId>org.springframework.cloudgroupId>
             <artifactId>spring-cloud-starter-openfeignartifactId>
         dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

2、在配置文件中添加hystrix配置

Day10-feign结合Hystrix使用-p163、p164_第2张图片

#开启熔断机制
feign.hystrix.enabled=true
# 设置hystrix超时时间,默认1000ms
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=6000

3、在service-edu的client包里面创建熔断器的实现类

Day10-feign结合Hystrix使用-p163、p164_第3张图片

package com.nonglin.eduservice.client;

import com.nonglin.commonutils.R;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @Description :
 * @Author :lenovo
 * @Date :2021/3/24 17:29
 */
@Component
public class VodFileDegradeFeignClient implements VodClient{
    @Override
    public R removeAlyClient(String id) {
        return R.ok().message("删除视频出错了");
    }

    @Override
    public R deleteBatch(List<String> videoIdList) {
        return R.ok().message("删除多个视频出错了");
    }
}

4、修改VodClient接口的注解

Day10-feign结合Hystrix使用-p163、p164_第4张图片

@FeignClient(name = "service-vod", fallback = VodFileDegradeFeignClient.class)

5、测试熔断器效果

你可能感兴趣的:(在线教育项目)