spring-cloud之服务降级feign-Hystrix

服务降级

当某些时间段,某些服务访问量太低,有些服务的访问量又特别的高。这个时候,可以关闭访问量低的服务用于提供高访问量的服务,需要在客户端提供服务降级处理(当客户访问访问量低的服务时,由于该服务已经关闭,客户端直接返回降级处理结果)

1.在api通过服务工厂

在这里插入图片描述

import com.kuang.springcloud.pojo.Dept;
import feign.hystrix.FallbackFactory; //实现的工厂类
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class DeptClientServiceFallBackFactory implements FallbackFactory {
    @Override
    public Object create(Throwable throwable) {
//接口新建对象,必须有实体类或者匿名内部类。重写方法
        return new DeptClientService() {//降级对象service
            @Override
            public Dept getById(Long id) {
                return new Dept().setId(333)
                        .setName("已经服务降级,请稍后访问")
                        .setDb_source("我不是数据库");
            }

            @Override
            public Boolean addDept(Dept dept) {
                return false;
            }

            @Override
            public List<Dept> getAll() {
                return null;
            }
        };
    }
}
2.在客户端service添加服务降级

在这里插入图片描述

3.在feign客户端配置开启服务降级

在这里插入图片描述

4.关闭服务提供者,测试结果

在这里插入图片描述

服务熔断:服务端,某个服务超时或者异常时,引起熔断,起到一个保险丝的作用

服务降级:客户端,从整体网络负载考虑,当某个服务熔断或者关闭后,服务将不再会调用。此时,我们在客户端准备了一个FallbackFactory返回一个准备好的值。整体服务水平下降,但是不至于奔溃,比直接挂掉强一些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值