Sentinel配置Nacos持久化

前言:

Sentinel在使用控制台时进行配置是纯内存操作,并没有提供默认的持久化措施,一旦服务重启会导致配置的流控、熔断等策略失效。Sentinel官方提供了多种持久化方式如:Redis、Zookeeper、Etcd、Nacos以及其他方式等。此文以Nacos为持久化配置方式进行讲解。

一、Nacos配置

1.在Nacos中添加配置,创建一个json的新的配置文件

规则说明:

resource:资源名称,流控对象

limitApp:流控针对的调用来源,default(不区分)

grade:限流阈值类型,1、QPS,2 、并发线程数

count:限流阈值

strategy:调用关系限流策略,直连、链路、关联,默认(直连)

controlBehavior:流控效果(直接拒接、排队等待、慢启动),默认(直接拒绝)

clusterMode:是否集群,默认(否)

2.完成后发布

二、配置服务

1.项目pom中引入sentinel_nacos依赖

复制代码
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
    <version>x.y.z</version>
</dependency>

2. 配置applocation.yml文件

复制代码
spring:
  cloud:
    sentinel:
      datasource:
        ds1:
          nacos:
            serverAddr: 120.46.40.171:8848 #nacos服务地址端口
            namespace: 2a6c5f46-ace7-47d9-8435-ef675229 #如果没有不需要设置
            dataId: goods_sentinel_flow #配置文件名称
            groupId: DEFAULT_GROUP # 没有指定走默认
            dataType: json # 文件格式
            ruleType: flow # 流控flow, degrade, authority, system, param-flow, gw-flow, gw-api-group

3.参看参数配置:

查看DataSourcePropertiesConfiguration,发现支持多种持久化配置包括我们的nacos

查看nacos源参数

可参照响应参数进行配置。配置完成后,重启服务。

4.重启应用查看控制台是否添加

5.流控结果

流控生效!!!

借此我们就完成了sentinel使用nacos配置中心做持久化策略的方法,其他持久化方式也是一样的道理,查看具体需要的参数即可。

参考文献:https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel

相关推荐
廋到被风吹走6 天前
稳定性保障:限流降级深度解析 —— Sentinel滑动窗口算法与令牌桶实现
运维·算法·sentinel
笨蛋不要掉眼泪10 天前
Sentinel 热点参数限流实战:精准控制秒杀接口的流量洪峰
java·前端·分布式·spring·sentinel
笨蛋不要掉眼泪11 天前
Sentinel 流控规则详解:三种模式与三种效果实战指南
java·jvm·数据库·后端·sentinel
Jinkxs12 天前
Sentinel - 在 Dubbo 微服务中使用:Alibaba 生态无缝集成
微服务·sentinel·dubbo
笨蛋不要掉眼泪12 天前
Spring Cloud Alibaba Sentinel 从入门到实战:微服务稳定性的守护者
分布式·微服务·云原生·架构·sentinel
tod11312 天前
Redis Sentinel 高可用架构:从原理到 Docker 部署全解析
数据库·redis·docker·架构·sentinel
递归尽头是星辰14 天前
Sentinel + Spring Cloud Gateway 联动限流实战
系统架构·sentinel·限流·微服务治理·限流架构设计
万象.14 天前
redis哨兵sentinel的部署及作用
redis·sentinel
七夜zippoe15 天前
分布式系统弹性设计实战:Hystrix与Sentinel熔断降级深度解析
java·hystrix·sentinel·aws·分布式系统
程序员敲代码吗16 天前
微服务熔断降级配置详解与实践:使用Sentinel和Nacos
java·微服务·sentinel