Hystrix基本使用(Demo)

1. 添加依赖


<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-netflix-hystrix</artifactId>
</dependency>
<dependency>
	<groupId>com.netflix.hystrix</groupId>
	<artifactId>hystrix-javanica</artifactId>
</dependency>

2. 修改启动类

消费端启动类添加@EnableCircuitBreaker注解

3. 方法添加注解

消费者中的Controller

@RestController
public class MyController {
	@Autowired
	private HelloService hs;

	@RequestMapping("/test")
	//fallbackMethod的参数为失败时的调用方法名(两个方法的参数相同)
	@HystrixCommand(fallbackMethod = "fallback")
	public String test(String name) {
		return hs.hello(name);
	}
	//失败时调用此方法
	public String fallback(String name) {
		return "失败了--->" + name;
	}
}

消费者中的Service

@FeignClient("eureka-provider")
public interface HelloService {
	@RequestMapping("/hello")
	public String hello(@RequestParam String name);
}

提供者中的Controller

@RequestMapping("/hello")
public String hello(String name) {
	return "提供者1号--->你好," + name;
}

4. 测试

4.1 启动注册中心、提供者、消费者

在这里插入图片描述

4.2 访问消费者

在这里插入图片描述

4.3 关闭提供者

在这里插入图片描述

4.4 再次访问消费者

页面显示访问失败时的返回值
在这里插入图片描述

4.5 若没有配置Hystrix则返回

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36226997/article/details/95327262