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

相关推荐
多敲代码防脱发4 天前
Alibaba Sentinel(熔断、限流)(国内下载Sentinel)
java·开发语言·sentinel
2601_962181967 天前
【Spring Cloud Alibaba】Sentinel 服务熔断与流量控制
sentinel
lv__pf9 天前
Sentinel【TL微服务10、11】
java·微服务·sentinel
凤山老林9 天前
高可靠 API 网关架构:Spring Cloud Gateway 集成 Sentinel 实现智能限流、动态路由与安全管控
安全·spring cloud·架构·sentinel
就叫_这个吧11 天前
java springcloud熔断降级组件sentinel基础应用及nacos持久化处理
java·spring cloud·nacos·sentinel
aikopen11 天前
高可用 API 网关限流与微服务过载保护实战:从 Sentinel 动态阈值到 DB 连接池舱壁
数据库·微服务·sentinel
ruleslol14 天前
Sentinel限流
sentinel
肠畔码农14 天前
高可用底座:Redis 哨兵机制(Sentinel)底层内核拆解
redis·bootstrap·sentinel
snow@li18 天前
Sentinel:流量防卫兵/熔断降级
sentinel
LayZhangStrive19 天前
后端通识 - 远程服务调用RPC
网络·网络协议·rpc·sentinel·openfeign·远程服务调用