一個網課開發者復工後的一個月

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個小時。由於擔心猝死,我甚至給自己買了一份意外險。

    過去的一個月我太累了,中間很多次我都覺得堅持不下去了,說來也奇怪,每當這時候,我都會想起被我弄丟的狗。我也反思了是什麼造成了這種局面:

  1. 在公司層面,一個人可以走的很快,一羣人可以走的很遠。我跟公司反饋了要招人,公司也對人力資源做出了調整。

  2. 在個人層面,書到用時方恨少。通過這一個月,個人的編碼能力和DEBUG能力展現出來了,但是對於服務器的性能知識瞭解還是太少。

    

    三月中旬各種花陸陸續續的開了,疫情的形勢也出現了新變化,最後:中國加油!世界加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章