sentinel和Nacos配合实现配置规则的持久化
说明
本文中只是针对单Nacos服务实例进行配置介绍,后面有机会再补充Nacos集群的配置。
如想看sentinel和nocos整体使用请从sentinel的限流的基本使用这篇文章开始。
Nacos下载
Nacos-service的下载是个非常糟心的事,因为它本身官方提供的下载地址是在github上的,但是从github上下载极其缓慢,几乎很难下载成功,最后找了一个可以下载的地方,把链接提供给大家:
Nacos安装
windows
windows版本的安装非常简单,解压完之后,找到/bin下面的startup.cmd文件双击即可。
linux
后期补充
项目依赖引入
注意:这里只是针对nacos集成的依赖。sentinel控制台的依赖请参考上文
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId> </dependency>
项目配置
#限流规则 #nacos的访问地址,这里也可以是nigix代理nacos的集群地址 spring.cloud.sentinel.datasource.flow.nacos.serverAddr=localhost:8848 #nacos中存储规则的dataId,对于dataId使用了${spring.application.name}变量,这样可以根据应用名来区分不同的规则配置 spring.cloud.sentinel.datasource.flow.nacos.dataId=${spring.application.name}-sentinel #nacos中存储规则的groupId spring.cloud.sentinel.datasource.flow.nacos.groupId=DEFAULT_GROUP spring.cloud.sentinel.datasource.flow.nacos.dataType=json #定义存储的规则类型,取值见:org.springframework.cloud.alibaba.sentinel.datasource.RuleType spring.cloud.sentinel.datasource.flow.nacos.ruleType=FLOW #熔断降级 spring.cloud.sentinel.datasource.degrade.nacos.server-addr=10.151.0.84:8848 spring.cloud.sentinel.datasource.degrade.nacos.namespace=16b7fa67-d3e0-47e4-bc0d-76056712afc4 spring.cloud.sentinel.datasource.degrade.nacos.data-id=${spring.application.name}-degrade-rules spring.cloud.sentinel.datasource.degrade.nacos.group-id=SENTINEL_GROUP spring.cloud.sentinel.datasource.degrade.nacos.rule-type=DEGRADE #系统规则 spring.cloud.sentinel.datasource.system.nacos.server-addr=10.151.0.84:8848 spring.cloud.sentinel.datasource.system.nacos.namespace=16b7fa67-d3e0-47e4-bc0d-76056712afc4 spring.cloud.sentinel.datasource.system.nacos.data-id=${spring.application.name}-system-rules spring.cloud.sentinel.datasource.system.nacos.group-id=SENTINEL_GROUP spring.cloud.sentinel.datasource.system.nacos.rule-type=SYSTEM #授权规则 spring.cloud.sentinel.datasource.authority.nacos.server-addr=10.151.0.84:8848 spring.cloud.sentinel.datasource.authority.nacos.namespace=16b7fa67-d3e0-47e4-bc0d-76056712afc4 spring.cloud.sentinel.datasource.authority.nacos.data-id=${spring.application.name}-authority-rules spring.cloud.sentinel.datasource.authority.nacos.group-id=SENTINEL_GROUP spring.cloud.sentinel.datasource.authority.nacos.rule-type=AUTHORITY #热点规则 spring.cloud.sentinel.datasource.paramflow.nacos.server-addr=10.151.0.84:8848 spring.cloud.sentinel.datasource.paramflow.nacos.namespace=16b7fa67-d3e0-47e4-bc0d-76056712afc4 spring.cloud.sentinel.datasource.paramflow.nacos.data-id=${spring.application.name}-param-flow-rules spring.cloud.sentinel.datasource.paramflow.nacos.group-id=SENTINEL_GROUP spring.cloud.sentinel.datasource.paramflow.nacos.rule-type=PARAM_FLOW
Nacos控制台配置
在nacos-service-1.3.1解压后的conf目录下修改application.properties文件中的数据配置,如下:
### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=3000&socketTimeout=5000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=admin
学习链接