- 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包,上一篇引入的可忽略了

我们这里对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

默认进来是sentinel自带的服务,接下来我们把自己的服务配置上去
修改bootstrap.yml

配置nacos,nacos的配置的dataId 要与配置文件中的dataId一致

配置文件解释图:
其他的具体详细的参数和降级参数,网上都有,可以具体的查询配置测试效果

接下来我们开始改造我们的方法,进行限流配置
改造PaymentController.java
添加SentinelResource注解,value就是对应我们nacos中json配置文件中的"resource": "payment-service-current-limiting-resource"
这里一定要注意下,别配置错了

接下来写一个getBalanceHandleBlock方法

为了体现出效果,我们配置文件中把sleep参数改成50(PS:之前为了测试降级配置的是5000)
那么,整个限流的配置和代码已经写完了。接下来,我们启动服务,从account-service服务访问payment-service服务试试效果怎么样
因为,QPS限流设置的是1,所以访问http://localhost:8081/acc/user?id=2; 我们刷新快一点。
可以看到,限流生效了


我们再看看sentinel控制台情况
控制台也能看到我们限流的情况

到此,sentinel限流篇就结束了
下一篇:spring cloud alibaba 实战篇(五)——sentinel服务熔断
网友评论