sentinel配置相关配置后无法持久化,服务重启之后就没了,所以整合nacos,在nacos服务持久化,sentinel实时与nacos通信获取相关配置。
使用上一章节Feign消费者服务实现整合。
版本信息:
nacos:1.4.1
Sentinel 控制台 1.7.2
spring-boot:2.3.3.RELEASE
spring.cloud.version:Hoxton.SR8
spring.cloud.alibaba.version:2.2.3.RELEASE
1、项目POM.xml 引入
<!--sentinel配置数据源nacos--><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>
2、bootstrap.yml追加Nacos数据源配置:
整个文件内容为:
server:port: 8083
spring:profiles:active: devapplication:name: tt-sc-feign-consumercloud:nacos:username: nacospassword: nacosconfig:server-addr: 192.168.10.x:8848file-extension: ymldiscovery:server-addr: 192.168.10.x:8848#sentinel看板相关配置sentinel:transport:dashboard: 192.168.10.x:8080#SpringBoot项目与控制台做交互的端口,默认8719port: 8723eager: true#添加Nacos数据源配置datasource:#名字自定义即可ds1:nacos:server-addr: 192.168.10.x:8848username: nacospassword: nacos#请求频率较高namespace: publicdataId: tt-sc-feign-consume-sentinelgroupId: DEFAULT_GROUPdata-type: jsonrule-type: flow
# ds2:
# nacos:
# server-addr: 192.168.10.107:8848
# username: nacos
# password: nacos
# namespace: public
# dataId: tt-public
# groupId: DEFAULT_GROUP
# data-type: json
# rule-type: flow
3、Nacos配置:
[{"resource": "/user/getUserSentinel","limitApp": "default","grade": 1,"count": 2,"strategy": 0,"controlBehavior": 0,"clusterMode": false}
]
4、启动feingnconsumer服务:
控制台输出获取nacos的配置
5、sentinel控制台:
获取到nacos的配置信息
7、问题
sentinel若获取不到nacos配置,检查配置文件是否存在问题,若无其他问题大概率原因就是版本不匹配。