spring cloud alibaba 实战篇(四)——sentinel服务限流

服务中引入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服务熔断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容