OpenFeign整合Sentinel

老子叫甜甜 提交于 2020-11-30 07:43:20

一 引入sentinel的依赖

<!-- 服务容错 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

二 开启sentinel支持

在service_edu的yml配置文件中开启Feign对Sentinel的支持

feign:
  sentinel:
    enabled: true

三 创建容错类

@Service
@Slf4j
public class OssFileServiceFallBack implements OssFileService {
    /**
     * 功能描述:服务降级方法
     *
     * @author cakin
     * @date 2020/11/29
     * @return R 返回给前端的数据
     */
    @Override
    public R test() {
        return R.error();
    }

    /**
     * 功能描述:删除图像服务降级方法
     *
     * @author cakin
     * @date 2020/11/29
     * @param url 图像的ulr地址
     * @return R 返回给前端的数据
     */
    @Override
    public R removeFile(String url) {
        log.info("熔断保护");
        return R.error();
    }
}

四 指定容错类

为OpenFeign远程调用接口添加fallback属性值指定容错类

@Service
@FeignClient(value = "service-oss", fallback = OssFileServiceFallBack.class)
public interface OssFileService {
  
  

五 测试

1 停oss服务

2 删除讲师

日志打印:

2020-11-29 18:57:50 |INFO  |http-nio-8110-exec-7 |DynamicServerListLoadBalancer.java:150 |com.netflix.loadbalancer.DynamicServerListLoadBalancer |DynamicServerListLoadBalancer for client service-oss initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=service-oss,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:com.alibaba.cloud.nacos.ribbon.NacosServerList@1cc70ac3
2020-11-29 18:57:50 |INFO  |http-nio-8110-exec-7 |OssFileServiceFallBack.java:23 |com.atguigu.guli.service.edu.feign.fallback.OssFileServiceFallBack |熔断保护

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!