SpringCloud-----Hystrix熔断器解决什么问题?--服务端Hystrix

1、Hystrix解决什么问题?

 服务链上,因为某个微服务的异常,而导致雪崩效应,整条服务链宕机的问题;

Hystrix回去捕获这个异常,利用Hystrix接口处理这类异常。

2、使用比较简单

pom.xml


			org.springframework.cloud
			spring-cloud-starter-hystrix
		

App.java

@SpringBootApplication
@EnableEurekaClient
@EnableHystrix
public class Dept8001App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(Dept8001App.class, args);
        
    }
}

rest.java、注意fallbackMethod的方法必须和get的方法签名保持一致,否则报错。错误

@GetMapping("/get/{id}")
	@HystrixCommand(fallbackMethod="getFallback")
	public Dept get(@PathVariable("id") long id){
		Dept dept = deptService.get(id);
		
		if(dept == null){
			throw new RuntimeException("部门信息不存在");
		}
		
		return dept;
	}
	
	public Dept getFallback(@PathVariable("id") long id){
		Dept dept = new Dept();
		dept.setDeptno(999999L);
		dept.setDname("get method is error");
		dept.setLoc("dept - provider ");
		return dept;
	}

3、难道每个方法都需要编写一个方法方法签名一致的fallback方法嘛?

预知后事如何,请看下回分解。

 

 

你可能感兴趣的:(SpringCloud)