首页 > 其他分享 >hystrix的简单使用

hystrix的简单使用

时间:2023-07-07 14:33:36浏览次数:40  
标签:feign hystrix getYearList 简单 Response 使用 getShopFall public

hystrix是微服务中的一个容错保护组件,用来对调用方请求另一服务时的超时,异常的降级保护。

一。.全局配置。

在项目中我们不会单独使用hystrix,一般是利用Feign对hystrix的封装。

1.开启 feign 对于 hystrix 的支持

feign.hystrix.enabled=true

2.全局配置

对feign客户端接口编写一个实现类即可

/**
 * @Description
 * @Author zhl
 * @Date 2023/7/7 9:26
 */
@Component
public class CommonServiceFailback implements CommonService {

    @Override
    public Response getYearList() {
        return Response.fail("haishishibai哈哈哈");
    }
}

指定feign客户端接口的hystrix异常返回类

/**
 * @Description
 * @Author zhl
 * @Date 2023/5/31 16:18
 */
@FeignClient(name = "flowershop-common", fallback = CommonServiceFailback.class)
public interface CommonService {

    @RequestMapping("/common/getYearList")
    Response getYearList();
}

hystrix的默认超时时间为1000ms,可以对其配置:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = 2000

3.测试

将Common服务停掉或者将其 getYearList()方法中休眠5秒。调用主服务

 

二.单独使用。

 在 Controller层使用。加入注解

@HystrixCommand(fallbackMethod = "getShopFall")

 2.编写异常返回方法 getShopFall() 

    public Response<?> getShopFall() throws Exception {
        return Response.success("err");
    }

3.测试

 

标签:feign,hystrix,getYearList,简单,Response,使用,getShopFall,public
From: https://www.cnblogs.com/cbzhl/p/17534886.html

相关文章

  • 简单猜数字游戏设计
    下面是游戏设计要求:游戏随机选择一个100以内的自然数,然后让玩家猜出这个数字。每轮告诉玩家他猜数字高了还是低了,直到猜出数字为止。代码实现通过上述游戏要求,我们来探索如何将上述要求转换为代码。初始设置包含一个游戏标题,一个用于输入内容输入框,一个提交按钮,以及一个提......
  • 数组的简单应用
    //slice截取console.log(arr.slice(1,3))//返回一个数组,从1开始截取,到3结束,不包括3console.log(arr)//原数组不变//push后面添加//pop后面删除//shift前面删除//unshift前面增加//splice功能非常强大,可以在任意位置增删改//改arr.splice......
  • C++ 设计模式之简单工厂模式
    设计模式之简单工厂模式(C++)简单工厂模式,主要用于创建对象。新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。优点:适用于不同情况创建不同的类时。缺点:客户端必须要知道基类和工厂类,耦合性差......
  • 使用vscode的devcontainer以及docker初体验
    想尝试0xffff提供的devcontainer来搭建开发环境。在后面发现搭建失败,都显示连接失败。后面查看nginx的log日志发现,nginx服务是正常启动的,可以看到404。查看phperrorlog发现,是未找到autoload.php。顺着找下去我发现,可能是因为composer包没有安装完全。flarum-lang/chinese-simp......
  • 灯光控制器——使用TPT进行测试自动化的标准示例
    在PikeTec,我们有一个示例来展示我们的测试自动化工具TPT:灯光控制器。 这些信息正在等着你: 为什么是这样一个简单的例子?灯控制器演示模型的主要功能灯控制器演示模型的接口灯控制器演示模型的行为特殊情况-更改为自动模式特殊情况-在自动模式下改变光强不同的实现......
  • apple sicion M2 mac docekr for mac 使用 x86-64 amd64
    使用环境变量指定dockerformac适用RosettaDOCKER_DEFAULT_PLATFORM=linux/amd64指定后dockerformac使用Rosetta2version:'3'services:mule-application:environment:-DOCKER_DEFAULT_PLATFORM=linux/amd64container_name:mule-3.9.0-ap......
  • 第二天:DOS常用简单命令
    常用快捷键及简单DOS指令常用快捷键ctrl+C复制ctrl+v粘贴ctrl+A全选ctrl+S保存ctrl+X剪切ctrl+Z撤销Alt+F4关闭窗口Win+E打开我的电脑Win+R打开运行   ctrl+Alt+A截图 简单DOS指令 打开cmd的方式 开始菜单中找寻......
  • 树莓派4B控制直流电机的使用
    直流电机驱动1、硬件介绍树莓派4B、杜邦线、L298N驱动模块、直流电机、外接电源2、硬件连接注意:ENA和ENB的跳冒必须安上去,如果没有拿杜邦线连通,就是用一根母母线把尖头盖住这里我只连接了一个直流电机,所以INT3和INT4的连线不用管,3、代码编写importRPi.GPIOasGPIOimport......
  • IT运维的福音!WeOps综合服务让运维更简单
    国家十四五规划及2035年远景目标纲要提到,要加快数字经济、数字社会、数字政府等以数字化转型整体驱动生产方式、生活方式和治理方式变革。在数字化进程中,企业ERP系统、医院HIS系统、PICS系统、制造业MES系统等核心系统越发重要,对IT依赖度越来越高,对业务连续性保障、IT服务用户满意......
  • mybatis: 正确使用mybatis中的mapperLocations配置多个xml扫描路径
    <!--myBatis文件--><beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><!--自动扫描entity目录,省掉Configu......