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

相关推荐
齐 飞1 天前
Spring Cloud Alibaba快速入门-Sentinel流量控制(FlowRule)
spring cloud·微服务·sentinel
Takumilove3 天前
Spring Boot 接入 Redis Sentinel:自动主从切换与读写分离实战(修复单机多实例与 Sentinel 配置坑)
spring boot·redis·sentinel
波波烤鸭11 天前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
hzzzzzo013 天前
微服务保护全攻略:从雪崩到 Sentinel 实战
数据库·微服务·sentinel
没有bug.的程序员14 天前
Redis Sentinel:高可用架构的守护者
java·redis·架构·sentinel
波波烤鸭14 天前
Sentinel 原理与源码解析:流控、熔断、降级到热点限流的一体化方案
sentinel
曾经的三心草15 天前
springcloud二-Sentinel
spring·spring cloud·sentinel
T_Ghost18 天前
SpringCloud微服务服务容错机制Sentinel熔断器
spring cloud·微服务·sentinel
你是人间五月天19 天前
sentinel实现控制台与nacos数据双向绑定
windows·sentinel
无名客019 天前
sentinel限流常见的几种算法以及优缺点
算法·sentinel·限流