springboot中sentinel整合nacos进行限流详细教学

编程入门 行业动态 更新时间:2024-10-25 16:24:07

springboot中sentinel整合nacos进行限流<a href=https://www.elefans.com/category/jswz/34/1770261.html style=详细教学"/>

springboot中sentinel整合nacos进行限流详细教学

大家知道sentinel可以进行限流,通过sentinel-dashboard后台进行配置,但这些配置都是保存在内存中的,一旦客户端口或者服务端重启,配置信息将会丢失,所以需要进行持久化配置,本文章主要教大家在本地通过Windows系统进行限流

首先引入依赖:

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-sentinel</artifactId><version>2.1.0.RELEASE</version>
</dependency>
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-spring-webmvc-adapter</artifactId><version>1.7.1</version>
</dependency>
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-core</artifactId><version>1.6.3</version>
</dependency>
<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version>
</dependency><!-- Sentinel Datasource 依赖 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId><version>2.1.0.RELEASE</version>
</dependency><!-- Sentinel Datasource Nacos 依赖 -->
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId><version>1.4.2</version>
</dependency>

application.properties做如下配置:

#**********************sentinel start****************************#
spring.cloud.sentinel.transport.dashboard=localhost:8080
spring.cloud.sentinel.eager=false
spring.cloud.sentinel.datasource.ds.nacos.server-addr=172.23.100.130:8848
spring.cloud.sentinel.datasource.ds.nacos.dataId=yzf-api-gateway-sentinel
spring.cloud.sentinel.datasource.ds.nacos.groupId=yzf-api-gateway_group
spring.cloud.sentinel.datasource.ds.nacos.rule-type=flow
#************************sentinel end*****************************#

注意addr的值前缀千万不要加http://,否则不生效!!!!

下载sentinel-dashboard的jar包,然后启动

通过地址:.4.0

下载nacos的包,

导入数据库配置

打开bin/startup.cmd 文件,将MODE从cluster改为 standalone,如下:

修改完后双击bin/startup.cmd文件,启动成功

打开浏览器访问:http://localhost:8848/nacos/index.html

输入用户名/密码访问 nacos/nacos 登录nacos

进行配置

[

{

"resource": "/test/test3",

"limitApp": "default",

"grade": 1,

"count": 3,

"strategy": 0,

"controlBehavior": 0,

"clusterMode": false

}

]

【流控规则】配置项说明:
resource:资源名
limitApp:针对来源,若为 default 则不区分调用来源
grade:阈值类型,0表示线程数,1表示QPS
count:单机阈值
strategy:流控模式,0表示直接,1表示关联,2表示链路
controlBehavior:流控效果,0表示快速失败,1表示Warm Up,2表示排队等待
clusterMode:是否集群
 

注意:sentinel-dashboard服务不是必须的,因为已经通过nacos做了持久化,如果想要监测拦截日志可以启动sentinel-dashboard

更多推荐

springboot中sentinel整合nacos进行限流详细教学

本文发布于:2024-02-19 17:12:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765093.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:详细   springboot   sentinel   nacos

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!