- spring cloud alibaba 实战篇(四)——sen
- spring cloud alibaba 实战篇(三)——sen
- spring cloud alibaba 实战篇(五)——sen
- Spring Cloud Alibaba Sidecar 多语言
- 这个注解一次搞定限流与熔断降级:@SentinelResourc
- Spring Cloud Alibaba:Sentinel实现熔
- 拥抱趋势!阿里这套微服务开源框架权威手册,实战到底层细致清晰
- spring cloud alibaba 简介
- Spring Cloud Alibaba 微服务原理与实战
- 5、Spring Cloud Alibaba微服务系列-分布式锁
服务中引入sentinel相关jar包,上一篇引入的可忽略了
![](https://img.haomeiwen.com/i10595965/d2af4094bf7ff674.png)
我们这里对payment-service进行限流的配置
下载sentinel控制台管理工具
Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能
下载地址:https://github.com/alibaba/Sentinel/releases
本文用的是:sentinel-dashboard-1.7.2.jar
启动命令:java -Dserver.port=8849 -Dcsp.sentinel.dashboard.server=localhost:8849 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.2.jar
访问浏览器:localhost:8849
默认账号密码:sentinel
![](https://img.haomeiwen.com/i10595965/a7e85ff8cc365dfe.png)
默认进来是sentinel自带的服务,接下来我们把自己的服务配置上去
修改bootstrap.yml
![](https://img.haomeiwen.com/i10595965/6037af1e42694e2f.png)
配置nacos,nacos的配置的dataId 要与配置文件中的dataId一致
![](https://img.haomeiwen.com/i10595965/c8b8f663c4fd8690.png)
配置文件解释图:
其他的具体详细的参数和降级参数,网上都有,可以具体的查询配置测试效果
![](https://img.haomeiwen.com/i10595965/73eaf3b49a906a7e.png)
接下来我们开始改造我们的方法,进行限流配置
改造PaymentController.java
添加SentinelResource注解,value就是对应我们nacos中json配置文件中的"resource": "payment-service-current-limiting-resource"
这里一定要注意下,别配置错了
![](https://img.haomeiwen.com/i10595965/12d13f898ec48298.png)
接下来写一个getBalanceHandleBlock方法
![](https://img.haomeiwen.com/i10595965/442a3e5dc8763595.png)
为了体现出效果,我们配置文件中把sleep参数改成50(PS:之前为了测试降级配置的是5000)
那么,整个限流的配置和代码已经写完了。接下来,我们启动服务,从account-service服务访问payment-service服务试试效果怎么样
因为,QPS限流设置的是1,所以访问http://localhost:8081/acc/user?id=2; 我们刷新快一点。
可以看到,限流生效了
![](https://img.haomeiwen.com/i10595965/7c4725bc28629c5d.png)
![](https://img.haomeiwen.com/i10595965/34db34ac35550f22.png)
我们再看看sentinel控制台情况
控制台也能看到我们限流的情况
![](https://img.haomeiwen.com/i10595965/6e0a36972fd9c565.png)
到此,sentinel限流篇就结束了
下一篇:spring cloud alibaba 实战篇(五)——sentinel服务熔断
网友评论