springCloud之sentinel限流

sentinel是什么?为什么要用sentinel?sentinel怎么在项目中应用

一 sentinel用于流控,降级;比如面对恶意攻击,一秒上万的请求,我们可以对这些请求在一段时间内拒绝访问,一般我们会设置qps来拒绝超额的访问

二 使用sentinel可以保护我们的服务不被大流量击垮,避免cpu,带宽被拉跨

三 项目中的应用

sentinel用于流控 降级

使用方法:

1.docker 容器化部署sentinel

docker pull bladex/sentinel-dashboard:latest

2.启动sentinel

docker run --name sentinel -d -p 8858:8858 镜像id

3.项目中整合

3.1添加依赖

<dependency>           
    <groupId>com.alibaba.cloud</groupId>           
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> 
</dependency>

3.2配置文件加sentinel配置信息

spring:
  cloud:
    sentinel:
      transport:
        dashboard: 192.168.0.0:8858
        port: 9999 

4.http://公网ip:8858 配置限流规则

5.引言:

配置sentinel限流策略,但是重启微服务,策略就会不见,需要重新再设置;

解决办法将sentinel流控策略持久化到nacos中,但是不能反向操作(控制台中修改策略不能反向操作到配置文件中)

操作步骤:

5.1 项目中加依赖

<dependency>
           <groupId>com.alibaba.csp</groupId>
           <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

5.2配置持久化数据源

sentinel:
      transport:
        dashboard: 139.196.11.22:8858
      #流控规则持久化到nacos配置中心
      datasource:
        ds1:
          nacos:
            server-addr: 192.168.0.0:8848
            data-id: ${spring.application.name}.json
            group-id: DEFAULT_GROUP
            data-type: json
            rule-type: flow

5.3 配置中心配置 json文件

[
    {
        "resource":"/test",
        "controlBehavior":0,
        "count":2,
        "grade":1,
        "limitApp":"default",
        "strategy":0
    },
    {
        "resource":"/api/user/v1/user_list",
        "controlBehavior":0,
        "count":1,
        "grade":1,
        "limitApp":"default",
        "strategy":0
    }
]

解释

resource:资源名,
limitApp:流控针对的调用来源,若为 default 则不区分调用来源
grade:限流类型(QPS 或并发线程数),0代表根据并发数量来限流,1代表根据QPS来进行流量控制
count:限流阈值
strategy:调用关系限流策略
controlBehavior:流量控制效果(直接拒绝、Warm Up、匀速排队)
clusterMode:是否为集群模式,存在问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值