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配置,检查配置文件是否存在问题,若无其他问题大概率原因就是版本不匹配。

相关推荐
阿伟*rui2 小时前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel
paopaokaka_luck4 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
Yaml45 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
aloha_7896 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
wyh要好好学习8 小时前
SpringMVC快速上手
java·spring
尢词8 小时前
SpringMVC
java·spring·java-ee·tomcat·maven
茶馆大橘8 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
wrx繁星点点8 小时前
享元模式:高效管理共享对象的设计模式
java·开发语言·spring·设计模式·maven·intellij-idea·享元模式
咕哧普拉啦10 小时前
乐尚代驾十订单支付seata、rabbitmq异步消息、redisson延迟队列
java·spring boot·mysql·spring·maven·乐尚代驾·java最新项目
Shenqi Lotus10 小时前
Redis-“自动分片、一定程度的高可用性”(sharding水平拆分、failover故障转移)特性(Sentinel、Cluster)
redis·sentinel·cluster·failover·sharding·自动分片·水平拆分