Sentinel 规则持久化
文章目录
一、修改order-service服务
修改OrderService,让其监听Nacos中的sentinel规则配置。
具体步骤如下:
1.引入依赖
在order-service中引入sentinel监听nacos的依赖:
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
2.配置nacos地址
在order-service中的application.yml文件配置nacos地址及监听的配置信息:
spring:
cloud:
sentinel:
datasource:
flow:
nacos:
server-addr: localhost:8848 # nacos地址
dataId: orderservice-flow-rules
groupId: SENTINEL_GROUP
rule-type: flow # 还可以是:degrade、authority、param-flow
二、修改sentinel-dashboard源码
SentinelDashboard默认不支持nacos的持久化,需要修改源码。
1. 解压
解压课前资料中的sentinel源码包:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OthmRHLb-1667042008231)(assets/image-20210618201340086.png)]](https://i-blog.csdnimg.cn/blog_migrate/5736e303bc2fd56f3b94c196320f6ab1.png)
然后并用IDEA打开这个项目,结构如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-24XTOAFc-1667042008233)(assets/image-20210618201412878.png)]](https://i-blog.csdnimg.cn/blog_migrate/d4d087a67fa655722822fe77b4f591bd.png)
2. 修改nacos依赖
在sentinel-dashboard源码的pom文件中,nacos的依赖默认的scope是test,只能在测试时使用,这里要去除:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnXEgaeI-1667042008233)(assets/image-20210618201607831.png)]](https://i-blog.csdnimg.cn/blog_migrate/7ce149c5f2c6b62591ae41031b87d9cf.png)
将sentinel-datasource-nacos依赖的scope去掉:
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
3. 添加nacos支持
在sentinel-dashboard的test包下,已经编写了对nacos的支持,我们需要将其拷贝到main下。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JlxHHuj0-1667042008234)(assets/image-20210618201726280.png)]](https://i-blog.csdnimg.cn/blog_migrate/65e47b220a66d802ef0598ce5f17d990.png)
4. 修改nacos地址
然后,还需要修改测试代码中的NacosConfig类:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IEmjVymR-1667042008234)(assets/image-20210618201912078.png)]](https://i-blog.csdnimg.cn/blog_migrate/5b17bc3935c9cfbb6980f6367dd9ae58.png)
修改其中的nacos地址,让其读取application.properties中的配置:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BVjikfQE-1667042008234)(assets/image-20210618202047575.png)]](https://i-blog.csdnimg.cn/blog_migrate/0d17c161ef1b74adce042c7926f44e29.png)
在sentinel-dashboard的application.properties中添加nacos地址配置:
nacos.addr=localhost:8848
5. 配置nacos数据源
另外,还需要修改com.alibaba.csp.sentinel.dashboard.controller.v2包下的FlowControllerV2类:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-89zz6pOK-1667042008235)(assets/image-20210618202322301.png)]](https://i-blog.csdnimg.cn/blog_migrate/5089c83b153dad9421d93cef7a8a594c.png)
让我们添加的Nacos数据源生效:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rPUCaoJ4-1667042008235)(assets/image-20210618202334536.png)]](https://i-blog.csdnimg.cn/blog_migrate/c8882b3b052198f44453a6d508a57bc5.png)
6. 修改前端页面
接下来,还要修改前端页面,添加一个支持nacos的菜单。
修改src/main/webapp/resources/app/scripts/directives/sidebar/目录下的sidebar.html文件:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x8v0TmKx-1667042008235)(assets/image-20210618202433356.png)]](https://i-blog.csdnimg.cn/blog_migrate/c02107b5dc8c2cffc66b14dbc43ede9a.png)
将其中的这部分注释打开:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L1x8HzJq-1667042008236)(assets/image-20210618202449881.png)]](https://i-blog.csdnimg.cn/blog_migrate/a871646e74c81921ad0722297baf64e8.png)
修改其中的文本:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q9MjYoRn-1667042008236)(assets/image-20210618202501928.png)]](https://i-blog.csdnimg.cn/blog_migrate/0b13aa9c6795f8df6ac1fa0625a24114.png)
7. 重新编译、打包项目
运行IDEA中的maven插件,编译和打包修改好的Sentinel-Dashboard:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JNixd6rG-1667042008237)(assets/image-20210618202701492.png)]](https://i-blog.csdnimg.cn/blog_migrate/9c1885aad94e01cf6d82ac885e8b1c1a.png)
8.启动
启动方式跟官方一样:
java -jar sentinel-dashboard.jar
如果要修改nacos地址,需要添加参数:
java -jar -Dnacos.addr=localhost:8848 sentinel-dashboard.jar
2264

被折叠的 条评论
为什么被折叠?



