使用阿里巴巴sentinel做限流熔断

一、sentinel部署
1、下载、安装
下载地址:https://github.com/alibaba/Sentinel/releases
在这里插入图片描述

下载 Jar 包后,打开终端,运行命令

nohup java -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 \
-Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.8.jar &

控制台登录:
http://ip:8180/
默认账密:sentinel/sentinel
在这里插入图片描述

二、项目中使用
1、gradle引入依赖,选择适合的版本,这里测试用的2.1.3.RELEASE

dependency "com.alibaba.cloud:spring-cloud-starter-alibaba-sentinel:2.1.3.RELEASE"

2、yml文件配置

spring:
  application:
    name: hicon-study-file
  cloud:
    sentinel:
      transport:
        post: 8722  #跟控制台交流的端口,随意指定一个未使用的端口即可
        dashboard: 12.0.10.1:8180 #配置Sentinel dashboard地址

这里也支持对feign接口熔断,只需开启feign接口配置,这里不再演示

3、启动类添加:@EnableDiscoveryClient
4、接口入口添加注解: @SentinelResource
例如:

    @SentinelResource
    @GetMapping("/get")
    public Response get(@RequestParam("id") String id){
        FileDTO fileDTO = FileAssembler.toDTO(fileApplicationService.get(id));
        return Response.ok(fileDTO);
    }

此外,
@SentinelResource后面可以设置不同的参数,可以设置熔断后的提示信息等,例如:
接口注解:@SentinelResource(value = “get”, blockHandler = “blockHandlerTestHandler”)
可以用下面的方法做兜底,提示自定义信息

// 接口方法的兜底方法
public String blockHandlerTestHandler(String params, BlockException blockException) {
    return "兜底返回";
}

5、控制台

重启自己项目,回到控制台,调用我们项目中的一个接口后,刷新控制台,就会发现hicon-study-file项目,里面会有项目中实时被调取的接口,在这里我们就可以去给想要接口去配置限流 降级 热点 权限的规则。(sentinel懒加载,必须调用我们项目中的一个接口,才能在控制台看到项目)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值