sentinel基于Nacos数据持久化

sentinel基于Nacos数据持久化

1.引入依赖

java 复制代码
<!-- 持久化用到 -->
<dependency>
   <groupId>com.alibaba.csp</groupId>
   <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

2.yml配置

java 复制代码
server:
 port: 8091
 tomcat:
   max-threads: 10   #最大线程数设置为10,默认200
spring:
 application:
   name: service-order
 datasource:
   driver-class-name: com.mysql.cj.jdbc.Driver
   url: jdbc:mysql://localhost:3306/shop?serverTimezone=Asia/Shanghai
   username: root
   password: 123456
 jpa:
   hibernate:
     ddl-auto: update
 cloud:
   nacos:
     discovery:
       server-addr: localhost:8848
   sentinel:
     transport:
       dashboard: localhost:8080 #提交数据到控制台
       port: 9999  #设置通信端口,任意一个未被使用的端口
     datasource: # 规则持久化
       ds1:
         nacos:
           server-addr: localhost:8848 #nacos地址
           dataId: service-order  #微服务名称
           groupId: DEFAULT_GROUP  #默认分组
           data-type: json #数据格式
           rule-type: flow #流控规则
service-product: #服务提供者名称 负载均衡的策略
 ribbon:
   NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

3.Nacos添加配置

点击加+号

配置内容

java 复制代码
[
 {
    "resource": "/msg1",
    "limitApp": "default",
    "count": 1,
    "grade": 1,
    "strategy": 0,
    "controlBehavior": 0,
    "clusterMode": false
 }
]

配置内容解释

java 复制代码
resource:资源名称;
limitApp:来源应用;
grade:阈值类型,0表示线程数,1表示QPS;
count:单机阈值;
strategy:流控模式,0表示直接,1表示关联,2表示链路;
controlBehavior:流控效果,0表示快速失败,1表示Warm Up,2表示排队等待;
clusterMode:是否集群。

其实就是Sentinel控制台如下配置:

演示结果

重启服务流控信息存在。

相关推荐
搬砖天才、26 分钟前
日常记录-redis主从复制(master-slave)+ Sentinel 哨兵(高可用)
数据库·redis·sentinel
是赵敢敢啊1 小时前
sentinel
sentinel
东阳马生架构19 小时前
Sentinel源码—9.限流算法的实现对比二
算法·sentinel
东阳马生架构19 小时前
Sentinel源码—9.限流算法的实现对比一
算法·sentinel
东阳马生架构2 天前
Sentinel源码—9.限流算法的实现对比
sentinel
东阳马生架构2 天前
Sentinel源码—7.参数限流和注解的实现二
java·sentinel
东阳马生架构2 天前
Sentinel源码—8.限流算法和设计模式总结一
算法·sentinel
东阳马生架构3 天前
Sentinel源码—8.限流算法和设计模式总结
sentinel
东阳马生架构4 天前
Sentinel源码—6.熔断降级和数据统计的实现二
java·sentinel
Pasregret4 天前
责任链模式:从 Sentinel 流控到审批流程的链式处理
sentinel·责任链模式