- 世界500強互聯網產品經理管理筆記
- 韓偉
- 775字
- 2024-01-05 16:25:36
七、軟件成為水和電后產生的非功能需求
全世界用戶每天都在使用互聯網軟件,開發者也不再是把軟件塞入盒子交給用戶就了事了。他們必須7天×24小時不間斷地為用戶提供服務。互聯網軟件的運行往往依賴成千上萬臺機房里工作的服務器群,這些服務器就如同發電廠的發電機或者自來水廠的水泵一樣,要求有高度的可用性管理。面對隨時變化的使用量,服務器集群要能隨時接受海量用戶的沖擊。這些都要求開發者將運維管理和監控的需求放到非常重要的地位。如果這些服務器的管理需求和功能需求混合到一起,卻沒有好的軟件技術支持,那么開發將是一場噩夢。在我們為軟件添加各種各樣功能的同時,我們往往會忽略那些對應的性能需求以及管理需求。這種不完善的功能一旦上線,經常會導致服務器集群的大量故障,從而出現嚴重的運營事故,這種事故會造成大量的用戶價值的損失。這對提供服務的公司來說,是非常致命的。
大家一定感受過在大年三十的晚上成功發送短信的概率比平時低,因為那天發短信的用戶要比平時多很多。而在“9·11”當天,很多新聞網站也被潮水般的網絡訪問者沖垮,原因也是用戶訪問量是平時的10多倍,從而導致網站服務器發生雪崩式的故障:過多同時涌入的訪問者堵死了新聞數據庫,然后導致了那些依賴數據的“緩沖數據”服務器的故障,最后那些提供頁面顯示的服務器被迫滯留大量網絡連接,網站最終陷入整體癱瘓。
一個良好的互聯網軟件,現在普遍需要滿足高可用、低延遲、容災熱備、負載均衡等互聯網特性。而要滿足這些特性,就需要額外地增加導航目錄服務、接入服務、狀態監控和自動切換服務等。這些服務都隱藏在用戶單擊鏈接之后,默默無聞地提供高穩定性的軟件運行。像提供服務器集群管理的LVS、作為高速Web緩沖的反向代理軟件Squid還有用來提高數據庫性能的SQL proxy等著名軟件,可能每個上網者都用到過,但是知道的卻不多。
這些復雜而精巧的軟件,都是互聯網軟件特定的需求。