Spring Cloud Sentinel整合Nacos实现配置持久化

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 引入

bash 复制代码
 <!--sentinel配置数据源nacos-->
       <dependency>
           <groupId>com.alibaba.csp</groupId>
           <artifactId>sentinel-datasource-nacos</artifactId>
       </dependency>

2、bootstrap.yml追加Nacos数据源配置:

整个文件内容为:

bash 复制代码
server:
  port: 8083
spring:
  profiles:
    active: dev
  application:
    name: tt-sc-feign-consumer
  cloud:
    nacos:
      username: nacos
      password: nacos
      config:
        server-addr: 192.168.10.x:8848
        file-extension: yml
      discovery:
        server-addr: 192.168.10.x:8848
    #sentinel看板相关配置
    sentinel:
      transport:
        dashboard: 192.168.10.x:8080
        #SpringBoot项目与控制台做交互的端口,默认8719
        port: 8723
      eager: true
      #添加Nacos数据源配置
      datasource:
        #名字自定义即可
        ds1:
          nacos:
            server-addr: 192.168.10.x:8848
            username: nacos
            password: nacos
            #请求频率较高
            namespace: public
            dataId: tt-sc-feign-consume-sentinel
            groupId: DEFAULT_GROUP
            data-type: json
            rule-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配置:


bash 复制代码
[
	{
		"resource": "/user/getUserSentinel",
		"limitApp": "default",
		"grade": 1,
		"count": 2,
		"strategy": 0,
		"controlBehavior": 0,
		"clusterMode": false
	}
]

4、启动feingnconsumer服务:

控制台输出获取nacos的配置


5、sentinel控制台:

获取到nacos的配置信息

7、问题

sentinel若获取不到nacos配置,检查配置文件是否存在问题,若无其他问题大概率原因就是版本不匹配。

相关推荐
知兀2 小时前
【Spring/SpringBoot】<dependencyManagement> + import 导入能继承父maven项目的所有依赖,类似parent
spring boot·spring·maven
源码宝2 小时前
企业项目级医院随访系统源码,患者随访管理系统,技术框架:Java+Spring boot,Vue,Ant-Design+MySQL5
java·vue.js·spring·程序·医院管理系统·随访·随访系统源码
A.说学逗唱的Coke4 小时前
【观察者模式】深入 Spring 事件驱动模型:从入门到微服务整合实战
spring·观察者模式·微服务
lzjava20244 小时前
Spring AI使用知识库增强对话功能
人工智能·python·spring
ToPossessLight09025 小时前
Spring 容器的基本实现
spring
程序定小飞8 小时前
基于springboot的学院班级回忆录的设计与实现
java·vue.js·spring boot·后端·spring
郝开9 小时前
Spring Boot 2.7.18(最终 2.x 系列版本)1 - 技术选型:连接池技术选型对比;接口文档技术选型对比
java·spring boot·spring
知兀10 小时前
【Spring/SpringBoot】SSM(Spring+Spring MVC+Mybatis)方案、各部分职责、与Springboot关系
java·spring boot·spring
论迹10 小时前
【Spring Cloud 微服务】-- 服务拆分原则
java·spring cloud·微服务
伊布拉西莫12 小时前
Spring 6.x HTTP interface 使用说明
spring·restclient