SpringCloud之Hystrix容错处理

Hystrix介绍

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


使用

坐标

  
        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
            2.2.8.RELEASE
        

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容错处理_第1张图片

注意

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

官网

官方手册

你可能感兴趣的:(SpringCloud)