流量治理定义
在高并发的互联网业务场景下,限流和熔断、降级经常被提起和应用。其中限流就属于流量治理的一部分。当然流量治理除了限流之外,还有其他的一些对流量进行管控的方式,比如:控制流量的分发,流量的监控,流量的预测等。
流量治理的目的
为系统购买一份保险
做流量治理,其实也就是相当于给系统买了一份保险。既然是保险那么就不是时时刻刻能用的到,只有在需要的时候才可以使用。
以电商业务场景来举例,平日的流量对于系统来说都能扛的住。就怕搞活动,大促这些时间节点下,流量暴增,一下就把系统击垮了。马上重启,一波新流量来袭,又垮了。如此循环,这就是有时候你们发现某些App老是用不了的原因之一。
如果说你们做了限流的功能,就可以将承受不了的流量直接拒绝掉,以此来保护系统不被冲垮。拒绝掉的那些请求只会影响一部分用户的体验,但你的系统还能健康的对外提供服务,有点舍小我保大我的意思。
这种限流的场景在生活中也有很多案例可以供我们参考,就以上海的高架桥来说,也会做限流。早高峰和晚高峰只允许沪牌上去,非沪牌只能走地面。为什么不让所有车都开上去?车太多,堵车啊。
上海是通过车牌来进行限流的,对应的我们的产品里面就可以是,你可以优先为付费用户提供服务,在流量超标的时候优先限掉非服务用户,以此来保证付费用户的体验。不然为什么沪牌要10来万的价格,你还不一定拍的到。
如果做简单点,可能就是一股脑的直接全部限了,就不会掺杂业务属性放里面,主要还是看场景。
为系统创建一份健康档案
我们经常会去做体验,通过体验可以更好的了解自身的健康状况。系统也不例外,其实系统的体检也就是我们大促前的压测或者定期压测。
但是我们想想,压测肯定不是天天都会去做的,单接口的压测还好,像全链路压测还是挺花时间的,就算有比较完整的压测平台我相信也不会每天都去压测一次。
一个系统的状态,表现在时时刻刻。通过流量治理,可以收集到很多有用的数据。
首先可以分析出流量的走势,一天之内哪个时间点的流量最高,峰值是多少。节假日流量比平时高多少,有了这些数据的基础,可以对大促的流量预估提供参考值。
还可以知道每个系统的流量情况,在不同流量的情况下,这些系统的表现能力如何,RT有无明显变化。
还可以知道,当触发流控的时候,哪些请求被拦截了。是否可以优化,是否可以将流量划分等级进行流控。
总结
我们标题写的是《为什么大公司要做流量治理?》为什么不写小公司呢?那是因为小公司压根就没什么流量呀。DAU破千万的能有多少,破亿的就更少了。
总的来说,之所以要做流量治理,最终目的是 保证系统的稳定性。防止在突发高流量的场景下系统被冲垮。
后面会继续跟大家聊流量治理这个话题,文章也会陆续出来,持续帮你搞懂流量治理怎么玩。
大家好,我是从古代穿越过来的美男子:架构摆渡人。我将把我的武功秘籍全部传授与你们,觉得有用请分享给身边的朋友。来个三连吧,感谢各位!