栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

sentinel使用nacos存储规则

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

sentinel使用nacos存储规则

1.下载安装sentinel-dashboard 1. 去github下载源码 GitHub - alibaba/Sentinel at release-1.8 2. 下载后进入sentinel-dashboard目录 执行mvn clean packge 命令打包 3. 执行下面命令启动sentinel-dashboard (在PowerShell里面参数需要加单引号,否则启动不起来)
java '-Dserver.port=7777' '-Dcsp.sentinel.dashboard.server=localhost:7777'  '-Dproject.name=sentinel-dashboard'  -jar .sentinel-dashboard.jar
  • Dcsp.sentinel.dashboard.server 指定端口号

  • -Dproject.name 指定名称

4. 启动后浏览器访问localhost:7777 账号、密码 都是 sentinel
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dph0Gppl-1633060756846)(C:Users火星Desktopsentinel微信截图_20210930211949.png)]](https://img-blog.csdnimg.cn/28905f2e61064010803860c442e7b189.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA54Gr5pif5bq45Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
2.下载安装nacos 1. 在github下载最新的nacos的最新版本 Releases · alibaba/nacos · GitHub 2. 进入根目录 执行mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U命令构建项目 3. 执行cd distributiontargetnacos-server-2.0.2nacosbin命令 运行startup.cmd启动

直接启动可能会报错,需要修改启动脚本里面的mode为standalone

set MODE=“standalone”

4. 启动后浏览器访问http://127.0.0.1:8848/nacos/index.html 账号密码都是nacos

3.项目集成nacos和sentinel 1. 新建springboot项目,在pom中添加以下依赖
		
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.cloud
            spring-cloud-dependencies
            Greenwich.SR2
            pom
            import
        
		
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-sentinel
            2.1.1.RELEASE
        
		
        
            com.alibaba.csp
            sentinel-datasource-nacos
            1.7.0
        
2. 新建controller
  ```java
  @RestController
  public class DynamicController {
  
      @GetMapping("/dynamic")
      public String dynamic(){
          return "Return rule";
      }
  }
  ```
3.设置配置文件 application.properties

第一次是用的yml格式的配置文件,但是连接不上nacos。后面用properties类型的配置文件就可以连上了。

spring.application.name=sentinel-nacos
server.port=8080
# sentinel-dashboard的访问地址
spring.cloud.sentinel.transport.dashboard=http://127.0.0.1:7777
# nacos的访问地址
spring.cloud.sentinel.datasource.ds.nacos.server-addr=192.168.1.2:8848
# nacos 数据id
spring.cloud.sentinel.datasource.ds.nacos.data-id=spring-cloud-sentinel-dynamic-sentinel-flow
# nacos 分组
spring.cloud.sentinel.datasource.ds.nacos.group-id=DEFAULT_GROUP
# 定义规则类型为限流
spring.cloud.sentinel.datasource.ds.nacos.rule-type=flow
4.启动项目,打开sentinel-dashboard控制台,(第一次需要访问接口一次)就能看到和项目名称对应的菜单了。这个时候还是没有流控规则的

5.在nacos中配置限流规则

{
    "resource":"/dynamic",
    "limitApp":"default",
    "grade":1,
    "count":1,
    "strategy":0,
    "controlBehavior":0,
    "clusterMode":false
}
  • resource: 资源名称(就是需要限流的接口名称)

  • limitApp:流控针对的调用来源

  • grade: 限流阈值类型(QPS或并发线程数)0表示根据并发数来限流 1表明根据QPS来进行限流

  • count: 限流阈值

  • strategy: 调用关系限流策略

  • controlBehavior: 流量控制效果(直接拒绝、Warm UP、匀速排队)

  • clusterMode:是否为集群模式

6. 现在可以在sentinel-dashboard中看到nacos里面配置的规则了
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEhLyOK1-1633060756852)(C:Users火星Desktopsentinel有流控规则.png)]](https://img-blog.csdnimg.cn/3c1a3ea5dee14872a4d2b852b46fa40f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA54Gr5pif5bq45Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
7. 验证规则是否生效

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288555.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号