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

相关推荐
AI_RSER9 小时前
基于GEE与哨兵2号的土地覆盖分类方法及实现
机器学习·信息可视化·分类·sentinel·可视化·遥感·gee
@淡 定4 天前
Sentinel热点参数限流完整示例实现
windows·sentinel
okok__TXF11 天前
Sentinel入门篇【流量治理】
java·sentinel
述雾学java14 天前
Spring Cloud Feign 整合 Sentinel 实现服务降级与熔断保护
java·spring cloud·sentinel
虚!!!看代码14 天前
【Sentinel学习】
网络·sentinel
Fireworkitte14 天前
Redis 源码 tar 包安装 Redis 哨兵模式(Sentinel)
数据库·redis·sentinel
何苏三月14 天前
SpringCloud系列 - Sentinel 服务保护(四)
spring·spring cloud·sentinel
夢想执行家15 天前
Docker拉取bladex 、 sentinel-dashboard
docker·eureka·sentinel
sevevty-seven1 个月前
Sentinel
linux·服务器·sentinel