網站,很多it行業的人都瞭解。
網站的成長過程,卻是很多it行業人士並不理解的過程,往往還有人調侃:做個淘寶網多少錢?本文將逐步講述網站的成長過程。講述網站的訪問量從0到1,從1到100,從100到1000,從1000到1000000+的過程。
靜態網站
這是所有網站的起步階段,幾乎只有幾個頁面,固定的html代碼。部分網站是由程序員偷懶直接創建,可能會繞過這個環節。
這時候往往使用虛擬主機發布。或者使用低配服務器發佈。內容更新往往頻率很低。順道提一嘴,這個時候的網站,甚至可以通過對象存儲進行發佈,參考本站文檔《手裏一堆閒置域名怎麼用起來?巧用OSS發佈靜態網站!》
動態網站
這是網站的初步形態,相對有了一些動態功能,有了數據庫,有了登錄等功能,具備文章內容的增刪改查等常見功能。其實已經是個名副其實的網站了。但是這個過程,僅僅是靜態網站的升級,有了動態內容可展示。大部分企業官網,博客等均為此類。
這時候的網站依然侷限於單機發布,或者使用虛擬主機(網站空間)發佈。網站尚無較難克服的瓶頸出現,推薦使用阿里雲低配ECS發佈,參考《阿里云云服務器ECS》
訪問量增長第一階段(十幾個用户併發訪問卡頓):帶寬不足
這個階段,往往是由於靜態資源過多開始引發,打開一個頁面累計下載圖片,js文件,甚至視頻等文件一下子佔用了服務器總帶寬,從而網站打開過慢。
這個時候,簡單的做法是增加帶寬,高級點的做法是套用CDN,也或者通過外部引入靜態文件實現解決。
訪問量增長第二階段(幾十個用户併發訪問網站報錯甚至超時):單機配置不足
隨着訪問量上升,原本的低配服務器或者虛擬主機空間的cpu,內存等主服務器資源開始不足。
這個時候,網站依然工作在單機狀態。問題解決過程也很簡單,那就是升級服務器配置
訪問量增長第三階段(幾百人併發訪問系統延遲很高):硬盤IO資源不足
訪問量上升到一定程度,帶寬夠用,cpu夠用,內存夠用等情況下,可能就是硬盤IO不足。
這個時候的升級方案,往往是網站程序與數據庫分離,數據庫單獨存在一塊硬盤上(例如ssd硬盤),甚至專門一台服務器放數據庫。這個階段,往往是下一步升級變得特別困難的時候,因為已經開始超出單機承載範圍了。當然,這個階段已經非常有必要依賴CDN等組件加速了。專業的數據庫產品可參考《雲數據庫RDS》
訪問量增長第四階段(超過幾百人併發訪問):大型網站架構
現在的網站,已經算是大型網站了。緩存設計,負載均衡發佈,數據庫高性能優化,數據庫讀寫分離,高性能中間件,分佈式設計,CDN加速,安全防禦,雲架構發佈等等五花八門的技術綜合使用。
這時候往往很難由一個人完成一個網站的開發工作。往往要在很多瓶頸環節做優化:
動靜分離:使用對象存儲OSS共享存儲文件
緩存加速:memcached,redis等內存型解決方案加速
數據庫:分佈式數據庫DRDS,讀寫分離發佈,分庫分表設計,高性能硬盤支持,規範的表結構
負載均衡:實現多web服務器共同承擔大流量訪問,實現訪客人數與服務器數量成正比
CDN加速:實現靜態資源讓用户就近加載
安全防禦:DDOS攻擊防禦,屏蔽惡意刷新帶來的無效壓力,屏蔽黑名單爬蟲採集
原文地址: https://www.opengps.cn/Blog/View.aspx?id=245 文章的更新編輯依此鏈接為準。歡迎關注源站原創文章!