目录
限流设计及实现
限流简述
自定义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对象。
第二步:访问测试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)