限流及自定义API维度限流

限流及自定义API维度限流,第1张

限流及自定义API维度限流

目录

限流设计及实现

限流简述

自定义API维度限流

定制流控网关返回值


限流设计及实现 限流简述

网关是所有外部请求的公共入口,所以可以在网关进行限流,而且限流的方式也很多,我们采用Sentinel组件来实现网关的限流。Sentinel支持对SpringCloud Gateway、Zuul等主流网关进行限流。

第一步:添加依赖,在原有spring-cloud-starter-gateway依赖的基础上再添加如下两个依赖

第二步:添加sentinel及路由规则

 第三步:启动网关项目,检测sentinel控制台的网关菜单。
启动时,添加sentinel的jvm参数,通过此菜单可以让网关服务在sentinel控制台显示不一样的菜单

在idea中,进行如下配置:

 Sentinel 控制台启动以后,界面如图所示:

说明,假如没有发现请求链路,API管理,关闭网关项目,关闭sentinel,然后重启sentinel,重启网关项目. 

 第四步:在sentinel面板中设置限流策略

第五步:通过url进行访问检测是否实现了限流 *** 作 

 

自定义API维度限流

自定义API分组,是一种更细粒度的限流规则定义,它允许我们利用sentinel提供的API,将请求路径进行分组,然后在组上设置限流规则即可。

第一步:新建API分组,

 

第二步:新建分组流控规则,

 

第三步:进行访问测试 

定制流控网关返回值

第一步:定义配置类,设计流控返回值

其中,Mono 是一个发出(emit)0-1个元素的Publisher对象。 

第二步:访问测试

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5682748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存