運維網站用戶系統的那些風雨

這篇文章要記錄的是南工在線的用戶系統上線過程中經歷過的風風雨雨,在這個工大幾乎人盡皆知的網站的背後有深藏功與名的Mars工作室,而我現在是Mars的管理人。

在這裏插入圖片描述

本網站僅支持內網訪問

這樣一個網站,經歷過幾代人的努力,多次的重構,我們一直在緊跟時代的潮流,用着最新的技術,沒有像很多項目一樣,止步不前。光從網站的前臺頁面很難感受到這是一個多麼龐大、複雜的系統,但他的架構是十分優秀的,我真的非常佩服學長們的努力。

而促使我寫下這篇文章的動力,正是前些天,我與一位自稱“全棧工程師”的土木學院的老師的對話開始的。他是想找我們工作室外包web和小程序。問我們做過哪些項目,很遺憾,南工在線被他輕視了,哎,這位全棧老師和大部分老師一樣用着上古年代的技術,對很多知識也是一知半解,一點都不能理解Online有多麼優秀以及我們爲其付出了多少心血,也使我想到各位網站的訪問者是否也是如此想的呢?於是我想寫下這些文章,不是爲了口誅筆伐,而是慢慢記錄Online的風風雨雨,第一篇,就從我擔任負責人起的第一件大事,也就是上線用戶系統開始罷。

關閉視頻評論和留言的那天

我入學的時候,南工在線距離現在還差兩個版本,當時用的技術棧我亦不清楚,但我有參與到影視與軟件的上傳工作,當時的Online有視頻留言與發送彈幕功能。

大家不用註冊用戶,只需要自己設置一個用戶名,再填寫留言內容,就可以發表留言了,聽起來是挺方便的,但這樣的狀況只維持了大概不到半年。

它結束的信號是這樣的,有一天,某位輔導員聯繫到我,說有人用他的名字作爲暱稱發表留言。

果然,擔心的事情還是發生了,而這些冒充別人的可惡的傢伙,卻怎樣都刪不乾淨。於是當時管理的學長果斷的關閉了評論與留言功能。

這一關,就是一年半載。

需求之下開始他的征程 - 搗亂的傢伙又來了

再後來,網站用vuetifyUI重構了,我們不斷的認識到,想要再上一層,我們需要除了用戶留言之外互動,比如說視頻留言,播放記錄,收藏等功能,爲此我們需要用戶系統。

第一版的用戶系統,在這樣的需求之下誕生,用戶註冊需要提供郵箱密碼暱稱,即可以完成註冊,不需要給用戶郵箱發送專門的驗證碼。

不給用戶郵箱發送密碼,實際上是想方便用戶註冊?由於之前沒有搞過用戶系統,我們很難估計我們的網站的訪問量有多少,雖然之前想過應該很多,但是沒想到有這麼多,一晚上大概就有幾千個用戶註冊了。但這樣的決定,實際上是錯誤的,因爲我們沒有想到學校裏的憨憨會這麼多。

幸好,這錯誤的決定只維持了一天,一羣人裏總會有那麼幾個被稱爲害羣之馬的壞傢伙,這次,他們又來了。用一些根本不存在的郵箱註冊了賬戶,並且取了很多違背社會主義核心價值觀的名字。我將它們封禁,他們又會用新的郵箱捲土重來,如果當時我的能力足夠強,我真想把他們都揪出來示衆!

郵箱註冊失敗的原因 - 與信息中心的聯絡

迫於這些搗蛋鬼,我們只好將所有註冊用戶的數據清空,畢竟這個過程也沒耗費什麼精力,着手佈置了新的註冊功能,第二版的用戶系統註冊需要和郵箱綁定,並且爲了保證一位用戶只能註冊一個郵箱,我們想到了我們的校園郵箱@njtech.edu.cn,有了它,我們就可以定位到每一個用戶的身份,那應該不會有人再造次了。

而用戶註冊的時候發送的驗證碼,用阿里雲的郵件服務,給用戶提供的校園網郵箱發送驗證碼,很經典的郵件註冊流程。這套想法聽起來天衣無縫不是?但是上線了第一天,就出現新的問題,有很多人反應收不到郵箱驗證碼。

這問題着實爲難住我們了,並且當時設置了沒有註冊郵箱的用戶是絕對無法訪問到我們的網站資源的,這意味着這些用戶這些天無法訪問我們的網站。

最後我一步步聯繫到了學校郵箱的管理員,原來是考慮到網絡安全問題,發送的大部分驗證郵件被攔截了,頭疼,不過經過她的分析,我也認爲從郵件管理員的角度來看是挺不安全的。

到當時,似乎狀況陷入了僵局,用戶系統的開發止步不前,要放棄用戶系統嗎?

信息中心的大力支持

其實和信息中心的老師,也就是上文中提到的郵箱管理員進行過交流之後,我把我們的困境和她詳細說明了。實際上,我們是隸屬於信息中心的學生組織。

之後的一天中午,我在實驗室裏突然收到了該老師的短信,問我有沒有空去信息中心開會,就聊網站用戶系統的事情,我去了。老師們都挺熱情的,我還記得信息中心的主任是位女性,特別有氣質。她們希望能把南工在線接入智慧南工,這樣不僅我們可以更好實現用戶系統,還能夠增大智慧南工的影響力。老師還和我聊了許多,比如說如果有些功能有困難,他們可以幫助我們實現等等。

會議結束後,我心懷着感激接受了校園Oauth單點登錄的文檔,並且在工作室成員們的努力下,加班加點的實現了單點登錄。

我們成功接入了智慧南工。很欣慰,即使是實現了用戶系統,也沒有利用到校園網以外的資源,南工在線依然在僅僅依靠着南工。

在這裏插入圖片描述

React GoGoGo

用戶系統上線之後,每天的訪問量能過萬,也有數萬師生登陸過我們的站點,這無疑是一件讓人無比自豪的事情。

在寒假期間,大家紛紛離校,由於我們的網站不對外網開放,訪問的人就少了下來,也就是這段時間,南工在線又迎來了他的脫胎換骨。

這次我們的前端用React重構,並且沒有依賴UI框架,手寫樣式。

而我們的後端,也第一次用上了Go語言,對併發有了高度的支持。

有意思的是,前不久B站也用Go語言重構了後端。

期待疫情過後的開學,南工學子將看到的嶄新的南工在線。

在這裏插入圖片描述

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