? ?今天閱讀了《大型網站技術架構》 的第三章,這一章主要講解了大型網站核心架構要素,并且概括的講解了相應的實現方法。
? ?軟件架構除了系統功能需求外,還需要關注性能、可用性、伸縮性、擴展性、安全性。
? ?其中性能是網站的重要指標。優化網站性能的手段有很多種其中包括:
? ?1.使用CD和反響代理加快反應速度。
? ?2.在應用服務器端實現本地緩存和分布式緩存。
? ?3.通過異步操作將用戶的請求發送至消息隊列等待后續任務處理,而當前請求直接返回響應給用戶。
? ?4.多臺應用服務器組成集群。
? ?5.代碼層面使用多線程、改善內存管理等手段優化管理。
? ?而對于可用性,冗余是網站高可用性的主要手段。將數據存儲在多臺服務器上互相備份,這樣任何一臺服務器宕機都不會影響應用的整體可用。
? ?對于伸縮性,伸縮性是指通過不斷向集群中加入服務器來緩解越來越多的用戶的并發訪問壓力和越來越多的數據存儲需求。
? ?對于擴展性,網站可擴展架構的主要手段是事件驅動架構和分布式服務,事件驅動架構在網站通常利用消息隊列實現,分布式服務則是將業務和可復用服務分離開來,通過分布式服務框架調用。
? ?而網站的安全架構就是保護網站不受惡意訪問和攻擊,保護網站的重要數據不被竊取。