
0x01
—
参与历史
2020年3月2日,周一,早上7点,天已经亮了有一会儿了,我关掉了台灯。又是熬了一夜,好在终于上线完成了安徽省第一天的网课,我瘫在椅子上,打算刷会儿手机缓一下再去睡。

刷到上面这条微博的时候,突然心里一暖。原本以为宅在家里不出门就是我对这次疫情最大的贡献,从没有意识到我的微薄之力也会在这个特殊时期帮到孩子们。作为某智能电视教育产品程序员的我突然之间有了一种参与历史、见证历史的成就感。
0x02
—
背景
谁也没想到,疫情爆发会突然火了在线教育。一段时间以来,公司的教育产品除了自己的电视端之外,还和广东、安徽当地的通信商有合作。三套服务独立部署,代码量有几十万行,听起来很唬人,但是由于产品本身早已过了互联网产品的爆发期进入稳定期,虽然运营的同事很多,但是整个教育后端只有我一个人在维护。

三套服务实质是同一个Git库的不同分支
0x03
—
第一次宕机
2020年2月9日,周一,正式复工第一天。运维人员收到告警:从八点半开始,服务器的CPU一直处于80%的水平。原本服务器扩容可以秒级完成,突然间不灵了,运维通知开发到现场。等我到了现场查看线上日志发现Redis有大量的连接超时。具体的原因是运营当天有直播课上线,8点半开始,流量暴增数倍,整套服务都达到了极限,缓存服务首先被击垮,进而导致整个服务都垮掉。所以运维试图对提供Web服务的服务器扩容会失败。
好在我们有备份方案,临时分流流量最大的接口,之后服务器可以正常提供运行了。为了防止服务再次被击垮,后续CDN也被引入了进来。
这是我从业三年多以来第一次面对流量的力量,“年少不知句中意,再看已是书中人”。之前都是纸上谈兵,张口闭口12306、春晚红包,但是对于力量一无所知,等到自己被流量击垮过才知道敬畏流量。
0x04
—
连续三晚通宵
2020年2月16日,周天,天快黑的时候,接到领导电话:运营在操作广东的网课上线出现了问题,需要技术支持。
在几天之前,接到通知说广东各地市的教育局录制了一批网课,要在我们的平台上线,保持每天更新。这里交个底,之前广东的平台上线自有媒资也是磕磕绊绊,有些坑一直没有时间填,突然要上线非自有媒资,当时我的心里是很没有底的。果然没能逃过墨菲定律。
周末我们的运营同学在后台第一次上线下周一课程的时候,发现整个上线过程都出了问题,每一个问题都需要我介入定位并解决,折腾了一晚上,在第二天早上八点才上线完成。之后的两天,继续每天晚上折腾到凌晨三四点,可以说是线上DEBUG。

好消息是赶在9点前完成了上线任务
说起来,上次通宵还是高中的时候从学校偷偷翻墙出去上网,没想到有朝一日一下子就通宵三天。白天睡觉,晚上工作,生物钟已经混乱了。好在把坑都趟平了。
0x05
—
宕机!宕机!

安徽省教育厅早在二月份已经通知3月2号开展线上教学
时间再次回到2020年3月2日,我刚刚睡下没多久就被电话铃声叫起来了,我们的安徽服务器宕机了。

可以看到,服务器在9点左右流量陡增,此时连接错误开始大量出现,两台8核服务器平均负载均到了16以上。因为安徽服务器非我司自有,10点40左右,我司运维同云主机厂商协调后,将服务器由原来的8核16G扩容至16核32G,中间有几分钟的服务不可用。
3月2日这个日子太特殊了,它特殊就特殊在安徽开始正式网上教学,广东也是,所以我们广东的服务器也宕机了。一样的剧情,两地同时上演。
0x06
—
总结
即使不算在家办公的第一周,公司也已经复工一个多月了,而我累计通宵了六天。最疯狂的是有个周末两天,接近50个小时,我只睡了5个小时。由于担心猝死,我甚至给自己买了一份意外险。
过去的一个月我太累了,中间很多次我都觉得坚持不下去了,说来也奇怪,每当这时候,我都会想起被我弄丢的狗。我也反思了是什么造成了这种局面:
在公司层面,一个人可以走的很快,一群人可以走的很远。我跟公司反馈了要招人,公司也对人力资源做出了调整。
在个人层面,书到用时方恨少。通过这一个月,个人的编码能力和DEBUG能力展现出来了,但是对于服务器的性能知识了解还是太少。
三月中旬各种花陆陆续续的开了,疫情的形势也出现了新变化,最后:中国加油!世界加油!


被折叠的 条评论
为什么被折叠?



