SpringCloud之Hystrix容错处理

Posted ITdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud之Hystrix容错处理相关的知识,希望对你有一定的参考价值。

Hystrix介绍

在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。


使用

坐标

  <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-hystrix -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.2.8.RELEASE</version>
        </dependency>

maven仓库坐标

开启注解

@EnableHystrix //开启熔断器

具体使用

  /**
     * 发送post请求 不带请求头的方法
     *
     */
    @GetMapping("/test3/save")
    @HystrixCommand(fallbackMethod = "defaultCallHello")
    public String test3(){
//        restTemplate.exchange();
        HouseInfo houseInfo2 = new HouseInfo(2l, "杭州", "余杭", "桃花港");
        HouseInfo houseInfo1 = restTemplate.postForObject("http://localhost:8082/house/save",houseInfo2 , HouseInfo.class);
        assert houseInfo1 != null;
        return houseInfo1.toString();
    }

返回方法

 public String defaultCallHello() {
        return "对不起 ,您访问的内容出错";
    }

测试结果

当端口号服务不存在时,就会执行返回方法
在这里插入图片描述

注意

返回方法的类型需要和接口类型保持一致

官网

官方手册

以上是关于SpringCloud之Hystrix容错处理的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud之Hystrix环境搭建

springCloud(12):使用Hystrix实现微服务的容错处理-Hystrix的监控

SpringCloud+Hystrix服务容错

springcloud-hystrix断路器对微服务的容错处理

SpringCloud 进阶之Hystrix(断路器)

springCloud(11):使用Hystrix实现微服务的容错处理-简介与实现