大型網站作為目前互聯網領域引發高度關注的系統,其架構設計體現了強大的能力要求。中培偉業《詳細設計與系統架構最佳實踐》培訓專家程老師根據自己多年的經驗,對大型網站的架構提出了自己的看法。
程老師指出,由于大型網站巨大的社會影響力,以及在技術方面的難度和復雜性,很多從業人員都對大型網站的系統架構非常感興趣。程老師作為該領域的資深專家,在這里就大型網站架構的技術原理進行了分析。
企業級的業務系統,它的特點是業務邏輯是比較復雜的,但用戶一般不太大;互聯網應用則相反,業務邏輯一般很簡單,但面對的是海量用戶。
既然互聯網應用開發的業務邏輯不復雜,但為什么大型網站都投入了那么多的技術人員呢?主要是因為運營的環境太復雜,這種復雜性形成的原因以下:
1. 公開性
網站的服務是公開的,任何人都可以來訪問,所以就會直接面對大量的不良用戶,系統數據的安全面臨很大的風險,一旦系統被攻入,結果將是災難性的。
2. 訪問量大
訪問量大,就意味著網站必須能夠承受高并發大流量的考驗,如果網站的服務能力和健壯性等達不到要求,你的系統就會被沖垮。
3. 用戶體驗
用戶體驗要好,除了產品設計的因素之外,就要求訪問網站的速度要快,具有高可用性,別用一會就出現問題。
網站各子系統如何進行部署,如何提高系統的健壯性和高可用性,如何實現網站的安全,如何提高訪問速度,如何進行負載均衡,甚至于采用什么的硬件設備,另外,網站發展的不同時期會可能會采用不同的架構,如何實現架構的平滑過渡,如何使目前的架構具有彈性,具備可擴展的能力,這都是大型網站必須解決的問題,也是小網站成長過程中遲早會遇到的問題。
網站機構包括網站的軟件架構和系統架構兩部分,軟件架構主要是指子系統和邏輯層的劃分結構;系統架構,一般是系統部署結構。
系統架構師的知識體系比較龐雜,所謂的見多識廣,多數是由運維工程師成長起來的,他們開發能力不強,編碼不多,但動手能力很強,腳本編寫非常熟練,經常會做各種類型的實驗,密切跟蹤最新技術最新產品的相關信息。當然,一個大型的網站,需要一個架構師團隊,他們各自承擔擅長領域的架構設計,比如安全架構、存儲架構等等。
程老師認為一般的開發人員還是很難走上這條路的,這份工作需要經驗,需要不斷實踐,但如果開發人員一旦走上了這條路,會有很大的發展,主要源于開發人員的思考習慣和技術的深度。