2020-12-16 Hystrix(2)

11.3服务降级

是什么?
  • 服务降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。--------来源百度百科
怎么用?
1. 在springcloud-api下的service层新建一个DeptClientServiceFallBackFactory类

   import com.buba.springcloud.pojo.Dept;
   import feign.hystrix.FallbackFactory;
   import org.springframework.stereotype.Component;

   import java.util.List;

   //降级
   @Component
   public class DeptClientServiceFallBackFactory implements FallbackFactory {
   @Override
   public DeptClientService create(Throwable throwable) {
       return new DeptClientService() {
           @Override
           public Dept queryById(Long id) {
               return new Dept()
                       .setDeptno(id)
                       .setDname("这个id=>"+id+"没有对应的信息,客户端掌握了降级的信息,这个服务器已经被关闭")
                       .setDb_source("没有数据");
           }

           @Override
           public List<Dept> queryAll() {
               return null;
           }

           @Override
           public Boolean addDept(Dept dept) {
               return null;
         	  }
     	  };
       }
   }
2. 给DeptClientService添加操作让它可以去调用DeptClientServiceFallBackFactory类
@FeignClient(value = "SPRINGCLOUD-PROVIDER-DEPT",fallbackFactory = DeptClientServiceFallBackFactory.class)
public interface DeptClientService {
    XXX
}
3. 在springcloud-consumer-dept-feign客户端开启降级
#开启降级
feign:
  hystrix:
    enabled: true
4.启动测试
  • 访问http://localhost/consumer/dept/get/1
    可以看到:在这里插入图片描述
  • 访问http://localhost/consumer/dept/get/6
    可以看到:在这里插入图片描述
  • 关闭springcloud-provider-dept-8001提供者,访问http://localhost/consumer/dept/get/1
    可以看到:在这里插入图片描述

11.4小结

服务熔断:
  • 服务端
  • 某个服务超时或者异常就会引起熔断 类似保险丝
服务降级:
  • 客户端
  • 从整体的网站负载考虑
  • 当某个服务熔断或者关闭之后,服务将不再被调用.
  • 此时在客户端我们可以准备一个FallBackFactory,返回一个默认的值(缺省值),整体的服务水平下降了,好歹能用,比直接挂掉强
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值