首页 / 互联网 / 正文

凌晨三点刷不到冰粉外卖,你骂错了:是服务器在熬大夜

上周三凌晨两点四十。

我骑着共享小电驴拐进小区巷口,风把外套吹得鼓鼓的,满脑子都是那家开了五年的手搓冰粉——要多加糍粑,少放红糖水,再撒半把山楂碎。

掏手机点单。

转圈。

转了快四十秒。

跳出来一行灰字:当前下单人数过多,请稍后重试。

我当时站在巷口,手里还攥着刚买的烤肠,差点把手机塞路边的垃圾桶里。一开始我以为是那家冰粉店的老板偷偷关了链接,毕竟凌晨两点多,人家可能早就收摊回家睡觉了。直到第二天跟做运维的朋友在科巷吃鸭血粉丝汤的时候他翻了个白眼,说你懂个屁,那是服务器扛不住了。

别再把服务器当成“放大版家用电脑”了

很多人对服务器的印象,就是那种配置拉满、比家用电脑贵十倍的超级主机,甚至有人觉得把自己家游戏电脑的配置拉满,就能当服务器用。说真的,这误解大了去了。

去年秋天我跟着那个运维朋友去江宁的IDC机房参观,进楼之前要换防静电鞋套,过两道人脸识别闸机,连包里带的矿泉水都要登记。一推开机房的门,我瞬间打了个寒颤。

真的冷。

待了十分钟我就冻得鼻子通红,出门的时候朋友递了件他备用的冲锋衣,说这温度是特意调的——那些机器7*24小时无休运行,散的热量比整排电暖器还猛,温度高个几度,故障概率能翻三倍。

南京IDC机房冷通道机柜实拍

机房里一排排铁架子摞得比人高,上面插的服务器连个显示器接口都露在正面,外壳就是薄薄的铁皮,一点装饰都没有,连个RGB灯条都找不到。哪像家里的台式机,还要搞个透明侧板,装几个闪来闪去的风扇。

说白了,服务器根本不需要给人看,它的唯一作用就是老老实实待在架子上,存数据、算请求、回消息。你家那台配置拉满的游戏电脑,同时开三个外卖APP、四个短视频软件都可能卡成PPT,可机房里这台丑巴巴的薄铁皮盒子,能同时扛住几千上万人的下单请求,连眼睛都不眨一下。

你刷的每一条动态,都在跟几万人挤同一条“数据窄路”

很多人遇到APP加载不出来、点单失败的情况,第一反应是“这程序员水平也太菜了,连个系统都做不好”。我以前也这么想,直到朋友给我打了个比方。

他说这就像你早高峰走上海路的那条窄巷子,平时走个三五个人根本没感觉,可要是赶上周末新街口办活动,一万多个人同时往巷子里挤,肯定有人被堵在外面进不去。服务器的带宽上限就这么宽,不可能为了一年才几次的高峰,把巷子修成八车道的马路——那成本算下来,你点一杯奶茶的钱都够付带宽费了。

外卖订单请求队列流转示意图
外卖订单请求队列流转示意图

上次万圣节,新街口所有的密室、剧本杀店同时开放预约通道,短短十分钟内涌进来两万多个预约请求,负责那个片区的服务器直接被挤爆了。那天多少人蹲在屏幕前刷了半小时,连个预约按钮都点不进去,店员在店里急得跳脚,顾客在外面骂骂咧咧。

哦对,我凌晨点不到冰粉那天,刚好是邻街的烧烤店搞深夜满减活动,半条街的人都在同时点外卖,那组负责本地外卖订单的服务器,就相当于被挤在窄巷子里了,自然就把我排在了队列外面,转半天圈都进不去。

不过话说回来,总不能为了一次满减活动,天天把带宽拉满吧?就像你家小区的水管,平时大家正常用水根本没问题,总不能为了某天整栋楼同时开热水器,就把水管换成主干道那么粗,那维护成本谁扛啊。

服务器其实比你上班的打工人还能扛

我那个运维朋友的手机里,永远挂着三个告警系统,哪怕是凌晨三点正抱着刚满一岁的娃睡觉,只要手机叮的一声,他都能一骨碌爬起来,远程登上去看是哪个节点出问题了。

他说服务器就像你养的一屋子猫,平时都安安静静蹲在架子上,哪天哪个猫突然跳下来把电线咬了,整屋子都得炸。有次冬天机房的UPS电源出问题,离完全断电只剩10分钟,他从软件大道的出租屋打个车往江宁冲,路上闯了两个红灯,最后赶在断电前把备用电源切上。到机房的时候他满头汗,羽绒服拉链都没拉,里面的毛衣都湿了半截。

很多人不知道,你平时刷的本地内容、点的附近外卖,对应的服务器根本不在遥远的北上广,甚至不在国外,大概率就在离你开车半小时能到的机房里。这种就近部署的节点,就是为了让数据跑的路更短一点——毕竟你刷出来的冰粉图片,要是绕到千里之外的机房转一圈再回来,加载个三秒五秒的,谁还有耐心等啊。

上周六我又点了那家冰粉,这次秒下单成功。外卖小哥敲门的时候我还在追老剧,冰粉送到的时候还带着点冰箱的凉意,糍粑糯叽叽的,山楂碎酸得人一缩脖子。

我咬了一口突然想起来朋友说的话——你能顺顺利利吃到这口冰粉,得谢谢那几排在16度冷机房里连轴转的机器,还有那个随时准备爬起来修机器的打工人。

哦对,那天吃粉丝的时候他还跟我说,等这个月的项目顺利上线,他要给自己放个完整的周末,去紫金山爬个道,晒晒太阳。

毕竟谁也不想天天待在冷飕飕的机房里,对吧?