Hystrix熔断初体验


<dependency>
     <groupId>org.springframework.cloudgroupId>
     <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
     <version>${hystrix.version}version>
dependency>

导入依赖,版本可以自己选择。

@EnableHystrix  //开启熔断服务

启动类注解

    @HystrixCommand(fallbackMethod = "hystrixGet")
    public Dept get(@PathVariable("id") Long id) {
        Dept dept = deptService.query(id);

        if (dept == null) {
            throw new RuntimeException("id => " + id + ",不存在该用户,或者信息无法找到");
        }

        return dept;
    }

    //备选
    public Dept hystrixGet(@PathVariable("id") Long id) {
        return new Dept()
                .setDNo(id)
                .setDName("id => " + id + "没有对应信息,null--@Hystrix")
                .setDb_source("no this database");
    }

正常方法和熔断备选方法

 数据库中有数据的情况

 数据库没有数据的情形