服务熔断和服务降级异同
相同点:让用户体验到的是某些功能暂时不可用;都是从可用性和可靠性出发,为了防止系统崩溃;
不同点:
服务熔断:一般是某个服务(下游服务)故障引起,
服务降级:一般是从整体负荷考虑;
服务熔断的实现方式
1.在服务端添加hystrix坐标
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
2.在对应需要熔断的接口的地方添加注解并编写熔断错误提示的代码
具体的注解是:@HystrixCommand(fallbackMethod = "processHystrix_Get"),其中的fallbackMethod是一旦服务抛出异常之后,会对该参数指定的方法进行调用返回
示例代码:
package com.debuggg.cloud.controller;
import com.debuggg.cloud.entities.Dept;
import com.debuggg.cloud.service.DeptService;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframewo