在Spring cloud tencent polaris里面,还提供一个非常好的框架,就是服务限流。
在实际的C端业务中,我们经常会涉及到对服务进行限流,这样可以避免短时间内的高并发访问导致后台服务被压垮了,所以对于C端业务中,特别是中大型的业务,服务限流是一个标配,在我们常用的这种spring cloud alibaba中,我们限流主要使用的是sentinel,这个限流框架比较强大,但是在spring cloud tencent系列里面,对于北极星来说其实已经自带好了限流的功能,我们可以直接拿来开箱即用即可。而且最重要的是:北极星的限流比sentinel更好用,更简单。北极星的限流比sentinel更好用,更简单。北极星的限流比sentinel更好用,更简单。
对于北极星来说,所有的限流这块不需要在代码里面做太多的配置,所有的配置都可以动态进行。在北极星(Polaris Mesh)上面有一个访问限流的模块,如下图:
这里我们只需要创建一条限流规则即可,这里的限流规则,可以实现对应用的单机限流,也可以实现对应用的分布式限流:
在具体的限流规则里面,主要可以实现的限流策略有:
1)根据请求头进行限流
2)根据请求参数进行限流
3)根据请求方法进行限流
4)根据主调服务进行限流
5)根据主调ip进行限流
备注:
1、以上的限流策略可以单个规则匹配,也可以实现多个规则匹配,例如:
以上我们介绍了限流规则,当然这里还可以限制限流的频率,可以设置根据每小时/每分钟/每秒钟的请求量进行限流,如下图:
在限流后,我们常用的措施有:1、抛出异常,快速失败,2、排队继续等待。这里在polaris上面都已经配置好了,只需要选择自己想要的结果即可:
以上就是使用polaris mesh进行限流的相关介绍,下一篇文章我们演示下利用polaris mesh进行限流的真实案例。
还没有评论,来说两句吧...