Springcloud组件hystrix

2023年 9月 22日 20.9k 0

1、问题描述

通过service-edu 调用service-vod,在调用时service-vod服务宕机,调用不到服务,出现了超时提示。

connect timed out executing DELETE http://service-vod/eduvod/video/241beb010b8e470b9650c468e700341c

2、如何使用熔断器

(1)在service模块中添加依赖
在这里插入图片描述

(2)在service-edu添加配置

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

(3)编写vodClient实现类在client目录下

@Component
public class VodFileDegradeFeignClient implements VodClient {
    @Override
    public R deleteVideoAliyun(String videoId) {
        return R.error();
    }
    @Override
    public R deleteMoreVideo(List videoIdList) {
        return R.error();
    }
}

(4)在VodClient里接口注解添加属性

@FeignClient(value = "service-vod",fallback = VodFileDegradeFeignClient.class)//服务名就是配置文件里配置的
@Component
public interface VodClient {
……
}

3、测试

通过service-edu 调用service-vod,在调用时service-vod服务宕机,没有抛异常,继续执行删除流程。

相关文章

如何删除WordPress中的所有评论
检查WordPress服务器磁盘使用情况的7种简便方法(查找大文件和数据)
如何更改WordPress常量FS_METHOD
如何为区块编辑器、Elementor等构建WordPress文章模板
如何彻底地删除WordPress主题及相关内容
如何使用WordPress搭建一个内网

发布评论