【springcloud】Hystrix 熔断搭建


注意:

修改服务提供者项目,此处只修改8001,其他的照葫芦画瓢即可

一、pom.xml


<dependency>
   <groupId>org.springframework.cloudgroupId>
   <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
dependency>

二、controller

修改 controller

@GetMapping("/get/{id}")
@HystrixCommand(fallbackMethod = "processHystrix_get") // 出错则调用指定的方法
public Dept getDept(@PathVariable("id") Long id){
    Dept dept = deptService.findById(id);
    if(dept == null){
        throw new RuntimeException("数据库中没有查到对应信息");
    }
    return dept;
}

public Dept processHystrix_get(@PathVariable("id")Long id){
    return new Dept().setDeptno(id).setDname("该id"+id+"没有对应信息-->Hystrix").setDb_source("no this database in MYSQL");
}

三、启动类

@EnableCircuitBreaker // 开启熔断器

四、启动测试

  • 访问服务消费者
  • http://localhost/consumer/dept/get/342
  • 返回自己新建的错误信息的dept类

你可能感兴趣的:(框架,后端)