昨晚又失眠了。
盯着手机屏幕上那只转圈的“加载中”小菊花,突然想笑。
双十一那晚,我就是那个转圈圈背后,无数个焦急等待的人之一。
购物车里的那双鞋,最终显示“系统繁忙,请稍后重试”。
那一刻,我居然松了一口气,而不是愤怒 。
后来才明白,那个所谓的“稍后再尝试”,或许是另外一个世界正竭尽全力为自身施行心肺复苏术。
限流?
听着就像在给生活踩刹车
对,就是踩刹车。
你想象一下早高峰的地铁站。
所有人都想挤上去,结果门关不上,车开不走,全线瘫痪。
到了这个时候,有工作人员手持大喇叭大声呐喊着:“都别再挤了!去等待下一趟班次!”——而这一情况便是所谓的限流。
它并非是要将你排斥在外面,而是担忧里面的人会因拥挤而遭遇死亡厄运,同时还害怕你会被挤压得如同照片那般扁平。
令牌桶:成年人世界的入场券
我最喜欢这个比喻。
就像一个热门酒吧,门口有个桶。
保安以固定的速度往桶里扔“入场券”(令牌)。
你来了,桶里有票,进去;没票,等着或者滚蛋 。
妙就妙在,如果没人来的时段,桶里攒了一堆票。
忽而就有一群小姐姐,她们怀揣着想要进入场中的心思(此乃突发流量所致),而那保安呢,只要桶里存有票,便能够一口气将十几个放进去。
像极了攒了三天的人品,就为了今天放肆一把。
很多大厂的网关,比如那个叫Kong的,就用这招对付秒杀 。
漏桶:强迫症患者的理想国
和令牌桶完全相反。
无论你那里洪水泛滥成何种程度,我这儿的漏洞就是这般大小,每一秒钟只滴落下一滴水,绝对不会多滴出哪怕一滴。
就算你一回往里面倒一桶水,我也仅仅根据我自己的节奏向外漏,多余的水留在桶里,桶满了,你后续倒进去的水我就不再要了。
这太像一个极度自律、生活规律的人了。
不管外界多嘈杂,他按照自己的节奏,每天看书、运动、睡觉。
虽说稳定到了使人觉得过分的程度,然而也存在着有可能错失某些突然降临的精彩的情况。听说某些支付系统喜欢运用它 ,毕竟关乎钱的事情 ,势必要做到稳。
临界问题:卡BUG的艺术
计数器算法就比较憨憨了。
它好似个呆头呆脑的统计员,每分钟都数一回:“哎唷,这一分钟有一千个人进来,够啦够,后面的别再进来。”。
但倘若你于第59秒放进了999个人,之后在第60秒,也就是下一分钟的起始那一秒,再度放进了999个人。
系统所感,这两分钟俱为安全之态,然而于那毫秒级的缝隙之中,实则瞬间有1998个人涌入。
这就是“临界问题”。
像不像每次月底冲业绩,和下个月月初的你?
那种疲惫和鸡血的无缝切换。
别光顾着拦人,你得会“打架”
真实的高手,并非着重于怎样去拒绝他人,而是聚焦于在有限的资源状况之下,怎样去“争斗”。
优步(Uber)那帮人玩得很野。
他们搞了个叫 Cinnamon 的系统 。
什么意思?
就是给请求分等级。
那有着最高优先级的,是 VIP 用户发出的打车请求;至于你后台自动刷新地图所产生的垃圾流量,很抱歉,只能靠边站了。当系统快要承受不住之时,要先终止那些不重要的内部任务,以此来保障核心的交易以及定位功能。
这才叫“弃车保帅”。
还有更骚的操作:请求 collapsing
一万个人同时问你同一个问题:“今晚那个博主直播卖啥?”
正常情况,一万个人跑去数据库里查,数据库直接崩溃。
骚操作是:只派一个人去查,剩下9999个人在那等着。
等那个人查到了结果,直接把答案复制给所有人 。
像极了考试时,全班只有一个人带了课本,然后他负责翻答案,我们负责传纸条。
这就是请求折叠,对付缓存雪崩的神器。
写在最后:被拒绝也是一种温柔
偶尔我会思索,要是那日双十一,系统并非拒绝我,而是勉强支撑着去处理我的订单,那么有可能出现的情形是:我付款达成了,然而订单状态却始终不进行更新;我多次去退款,客服那里永远都在排队;最终,我甚至连那个APP都不愿去打开了。
为此你瞧,那个为时不长的“拒绝”,实际上是系统能够给予我的,最终的得体颜面。
它宁愿自行承受压力,以优雅姿态告知你“请稍后”,却不愿于你跟前全然崩溃,致使你瞧见它最为狼狈、最为无能之模样。
生活里不也一样吗?
在某些时候,我们用尽浑身解数,一心想要奋力挤入某一个特定的圈子,竭尽全力去抓住某一个具体的人,然而,却被一道根本看不见的所谓的“限流”无情地阻挡在了外面。
别急着骂娘。
或许,那个将你拦住的“漏桶”,仅仅是想叫你稍作等待,待你拥有充足的“令牌”之际,再以最佳的状态,得体地进入场地。
终究,确实关键的,向来并非挤入时的那一刹那,而是进入之后,能够停留多长时间。

Comments NOTHING