隨着這幾年網絡的不斷髮展,人們對互聯網的依賴程度不斷加深。各大網站的用戶體驗各不相同。如淘寶雙11 交易上千億,系統運行基本正常、12306 車票系統的瞬間癱瘓,網站我的信息泄露等。一個大型網站須要面臨高併發訪問、海量數據分析處理、網站安全性等一系列問題。 《大型網站技術架構核心原理與案例分析》 比較全面介紹了目前大型網站面臨的主要技術難點和解決方案。將理論與實際案例相結合,分析通俗易懂。對我幫助很大。可是,我對於裏面的一些技術名詞和架構思想,好比集羣、分佈式、負載均衡、緩存、高併發、高可用、系統安全等等之類的詞語,徹底沒有一點概念,腦海中也根本沒有相似的念頭,有限的學習生活中也沒有觸碰過這些解決方案,看書的過程當中大部分時間是處於懵逼狀態的。 緩存
網站的可用性架構: 安全
1、網站可用性度量服務器
1.網站不可用時間(故障時間):故障修復時間點 - 故障發生時間點,即這段時間網站不能提供正常服務。網絡
2.網站可用性指標:(1 - 網站不可用時間 / 總時間)*100%,可用性4個9即表示網站99.99%的時間是沒有故障的。架構
2、網站可用性考覈併發
1.網站可用性對外是用戶服務承諾,對內是考覈指標,故障分 = 故障時間 * 故障影響權重。負載均衡
3、高可用的網站架構分佈式
1.硬件故障是常態,故網站高可用架構設計的主要目標是保證服務器故障時服務依然可用,數據以讓保存並能訪問。模塊化
2.實現高可用的主要手段:數據和服務的冗餘備份和失效轉移。高併發
3.大型網站分層架構使得不一樣層次的服務器(應用、服務、數據),實施可用性的具體解決方案差別甚大。
網站的伸縮性架構:網站的伸縮性設計能夠分紅兩類,一類是根據功能進行物理分離實現伸縮,一類是單一功能經過集羣實現伸縮。前者是不一樣的服務器部署不一樣的服務,提供不一樣的 功能;後者是集羣內的多臺服務器部署相同的服務,提供相關的功能。
從不一樣功能進行物理分離實現伸縮來講:
縱向分離:也就是說分層後分離。就是將業務流程上不一樣部分分離部署,由此來實現系統的伸縮性。
橫向分離:就是說分割業務後分離,把不一樣的業務模塊分離部署,由此實現系統伸縮性。
網站的可擴展性架構:網站的可擴展性是指對現有系統影響最小的狀況下,系統功能可持續擴展或提高的能力。構建可擴展的網站架構的核心思想是模塊化,並在此基礎上,下降模塊之間的耦合性,提升模塊的複用性。由於若是模塊之間不存在直接調用,那麼新增模塊或者修改模塊就對其餘模塊的影響最小,這樣系統的擴展性會更好一些。