美文网首页
Sentinel使用Nacos持久化规则

Sentinel使用Nacos持久化规则

作者: ChadJ | 来源:发表于2019-08-26 09:09 被阅读0次

1-创建SpringCloud应用

sentinel-datasource-nacos

2-引入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
    <version>1.5.2</version>
</dependency>

3-添加配置信息

spring.application.name=sentinel-datasource-nacos
server.port=8883

# sentinel dashboard 地址
spring.cloud.sentinel.transport.dashboard=localhost:8883

# nacos 地址
spring.cloud.sentinel.datasource.ds.nacos.server-addr=localhost:8848
spring.cloud.sentinel.datasource.ds.nacos.dataId=${spring.application.name}-sentinel
spring.cloud.sentinel.datasource.ds.nacos.groupId=DEFAULT_GROUP
# 规则类型
spring.cloud.sentinel.datasource.ds.nacos.rule-type=flow

4-Nacos中创建限流规则

DataID:项目名-sentinel
Group: DEFAULT_GROUP

JSON:
[
    {
        "resource": "/hello",
        "limitApp": "default",
        "grade": 1,
        "count": 5,
        "strategy": 0,
        "controlBehavior": 0,
        "clusterMode": false
    }
]
  • resource:资源名
  • limitApp:流控针对的调用来源,default不区分来源
  • grade:限流阈值类型(0-根据并发数量来限流 1-根据QPS来进行流量控制)
  • count:限流阈值
  • strategy:调用关系限流策略
  • controlBehavior:流量控制效果(直接拒绝、WarmUP、匀速排队)
  • clusterMode:是否集群模式

5-启动程序,访问测试

6-深入思考

对于接口的限流规则可以通过两个地方修改:Sentinel控制台、Nacos控制台

  • Sentinel控制台中修改规则:仅存在于服务的内存中,不会修改Nacos中的配置值,重启后恢复原来的值。
  • Nacos控制台中修改规则:服务的内存中规则会更新,Nacos中持久化规则也会更新,重启后依然保持。

相关文章

网友评论

      本文标题:Sentinel使用Nacos持久化规则

      本文链接:https://www.haomeiwen.com/subject/qsglectx.html