1.添加pom依赖
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId> </dependency>
2.修改application.yml配置文件
spring: sentinel: transport: port: 7021 # 该工程与sentinel服务端通讯端口 dashboard: localhost:7071 #服务端访问连接 enabled: true datasource: dsl: # 随意项目名称 nacos: server-addr: http://127.0.0.1:7001 #nacos的地址 dataId: emailManager #nacos中对应的配置dataid groupId: deal-sentinel #组别,你可以不写,视你项目需求而定,一般都会写,隔离作用,测试时可以先不写,以免出错 data_type: json # 数据类型 rule-type: flow # 规则 namespace: Deal-Project #命名空间,格式隔离作用
3.启动项目
4.访问被测试的连接,不访问,sentinel 不显示蔟点,sentinel后台也不知道拽取哪个对应的配置给你,此时你访问之后,在sentinel流控规则处应该什么都没有,有的话就见鬼了。因为你在nacos中什么都没有配置呢
5.nacos对应的配置设置
注意上面的5个箭头所指出的内容
{ "resource":"/retaLimit/byUrl", // 资源名
"limitApp":"default", //来源应用
"grade":1, //阈值类型,0 表示线程数,1表示QPS
"count":1, // 单机阈值
"strategy":0, // 流控模式, 0表示直接,1表示关联, 2表示链路
"controlBehavior":0, //流控效果, 0表示快速失败,1表示 Warm Up, 2表示排队等待 "clusterMode":false //是否集群
}
6.最后一点提醒,配置文件中不可添加注解,#符号都是不允许的,亲自尝试过,加上注解抓取不到内容。
7.处理完6.你就可以在sentinel 的dashboard中的流控位置看到resourece对应的配置规则内容。