sentinel和Nacos配合实现配置规则的持久化

说明

本文中只是针对单Nacos服务实例进行配置介绍,后面有机会再补充Nacos集群的配置。

如想看sentinel和nocos整体使用请从sentinel的限流的基本使用这篇文章开始。

Nacos下载

Nacos-service的下载是个非常糟心的事,因为它本身官方提供的下载地址是在github上的,但是从github上下载极其缓慢,几乎很难下载成功,最后找了一个可以下载的地方,把链接提供给大家:

nacos-service-1.3.1下载

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

 

 

学习链接

Nacos集群配置

Nacos集群配置

 

posted @ 2020-11-27 18:41  海棠--依旧  Views(2453)  Comments(0Edit  收藏  举报