深圳建筑网站,设计网站接单,网站主题风格有哪些,各大城市网站哪里做本文介绍sentinel的直接流控的使用。
0、环境
jdk 1.8sentinel 1.8.2springboot 2.4.2
1、sentinel环境搭建
从官方发布的网站上下载: sentinel Jar#xff0c;下载对应版本。 下载完成后#xff0c;进入刚才下载的Jar文件所在的目录#xff0c;执行如下命令#xff1a…本文介绍sentinel的直接流控的使用。
0、环境
jdk 1.8sentinel 1.8.2springboot 2.4.2
1、sentinel环境搭建
从官方发布的网站上下载: sentinel Jar下载对应版本。 下载完成后进入刚才下载的Jar文件所在的目录执行如下命令
java -Dserver.port8080 -Dcsp.sentinel.dashboard.serverlocalhost:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.2.jar正常启动后浏览器访问: http://localhost:8080显示sentinel登录页面用户名和密码默认都是sentinel。到这里sentinel就搭建完成了。
2、集成sentinel
引入依赖
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-sentinel/artifactIdversion2021.1/version
/dependency在application.yml文件中配置连接信息配置如下
springcloud:sentinel:transport:port: 8719dashboard: localhost:8080其中8719是sentinel api的默认端口。
3、配置资源
写一个简单的controller代码如下
RestController
RequestMapping(/sentinel)
Slf4j
public class SampleController {/*** SentinelResource注解标注此方法需要流量控制blockHandler指定当触发流控后要执行的业务逻辑。* 此处指定对应的方法名称注意方法名称需要和流控标注的方法签名完全一样。*/GetMapping(/1)SentinelResource(value sentinel1, blockHandler sentinel1Block)ResponseBodypublic MapString, String sentinel1() {log.info(sentinel1());MapString, String map new HashMap();map.put(value, 1);return map;}public MapString, String sentinel1Block(BlockException blockException) {log.info(接口限流了);return new HashMap();}}4、设置流控规则
打开sentinel控制台找到对应的服务如果没找到就手动向自己的服务发几次请求再次刷新sentinel控制台你的服务就出现了。
点击“流控规则”再点击“新增流控规则”输入如下图 保存后即可启动服务测试了。注意这里使用的是直接流控模式其作用是针对注解标注的controller接口。
测试就不说了吧用postman或命令行都行。我用命令行
curl --location --request GET http://localhost:9080/sentinel/1 \
--header User-Agent: Apifox/1.0.0 (https://apifox.com) \
--header Accept: */* \
--header Host: localhost:9080 \
--header Connection: keep-alive这是在mac环境的测试命令注意与Windows的区别。好了就到这里吧。