此篇已收錄至《大型網(wǎng)站技術(shù)架構(gòu)》讀書筆記系列目錄貼,點擊訪問該目錄可獲取更多內(nèi)容。 一、性能—響應(yīng)時間決定用戶(1)瀏覽器端: ?、贋g覽器緩存; ?、谑褂庙撁鎵嚎s;
?、酆侠聿季猪撁?; CSS:把樣式表置于頂部;避免使用CSS表達式(_r);使用外部JavaScript和CSS;削減JavaScript和CSS;用<link>代替@import;避免使用濾鏡; JavaScript:把腳本置于頁面底部;使用外部JavaScript和CSS;削減JavaScript和CSS;剔除重復(fù)腳本;減少DOM訪問;開發(fā)智能事件處理程序; ?、軠p少Cookie傳輸; (2)CDN:內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,簡稱CDN)將加速內(nèi)容分發(fā)至離用戶最近的節(jié)點,縮短用戶查看對象的延遲,提高用戶訪問網(wǎng)站的響應(yīng)速度與網(wǎng)站的可用性,解決網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點分布不均等問題。詳情請見百度百科:http://baike.baidu.com/view/8689800.htm?from_id=420951&type=search&fromtitle=CDN&fr=aladdin (3)應(yīng)用服務(wù)器端:服務(wù)器本地緩存和分布式緩存; Memcached簡介:http://baike.baidu.com/view/794242.htm Redis簡介:http://baike.baidu.com/view/4595959.htm (4)服務(wù)器集群技術(shù):Web服務(wù)器集群、數(shù)據(jù)庫服務(wù)器集群、分布式緩存服務(wù)器集群等等,通過部署多臺服務(wù)器共同對外提供同類服務(wù),提高整體處理能力。 (5)數(shù)據(jù)庫服務(wù)器端: ?、偎饕核饕╥ndex)是對數(shù)據(jù)庫表中一個或多個列(例如,employee 表的姓氏 (name) 列)的值進行排序的結(jié)構(gòu)。如果想按特定職員的姓來查找他或她,則與在表中搜索所有的行相比,索引有助于更快地獲取信息。
?、诰彺妫簲?shù)據(jù)庫緩存是介于應(yīng)用程序和物理數(shù)據(jù)源之間,其作用是為了降低應(yīng)用程序?qū)?shù)據(jù)庫的物理數(shù)據(jù)源訪問的頻次,從而提高了應(yīng)用的運行性能。 ?、跾QL優(yōu)化:當(dāng)一個基于數(shù)據(jù)庫的應(yīng)用程序運行起來很慢時,90%的可能都是由于數(shù)據(jù)訪問程序的問題,要么是沒有優(yōu)化,要么是沒有按最佳方法編寫代碼,因此你需要審查和優(yōu)化你的數(shù)據(jù)訪問/處理程序。具體可以瀏覽這篇文章:http://www.cnblogs.com/Shaina/archive/2012/04/22/2464576.html ?、躈oSQL:方興未艾的NoSQL數(shù)據(jù)庫通過優(yōu)化數(shù)據(jù)模型、存儲結(jié)構(gòu)、伸縮性等手段在性能方面的優(yōu)勢日趨明顯。 二、可用性—你能保證幾個9?(1)如何衡量可用性?全靠9來撐腰:幾乎所有網(wǎng)站都承諾7*24小時可用,但事實上都不可能完全實現(xiàn),總會有一些故障時間。那么,去除這些故障時間就是網(wǎng)站的總可用時間。換算成網(wǎng)站的可用性指標(biāo),以此衡量網(wǎng)站的可用性,例如某些知名網(wǎng)站可用性達到99.99%。 (2)哪些手段提高可用性? ①核心:冗余-各服務(wù)器互相備份保證整體可用; ?、趹?yīng)用服務(wù)器端:通過負載均衡設(shè)備建立集群,其中一臺宕機立即切換到其他服務(wù)器繼續(xù)提供服務(wù),這就保證了高可用性。 ?、鄞鎯Ψ?wù)器端:需要對數(shù)據(jù)進行實時備份,當(dāng)某臺宕機立即將數(shù)據(jù)訪問請求轉(zhuǎn)換到其他服務(wù)器上,并進行數(shù)據(jù)恢復(fù)以保證數(shù)據(jù)高可用。 三、伸縮性—能屈能伸方為大丈夫(1)衡量標(biāo)準: ①是否可以多態(tài)服務(wù)器構(gòu)建集群? ②是否容易向集群中添加新服務(wù)器? ?、奂尤敕?wù)器后是否能提供無差別服務(wù)? (2)主要手段: ?、賾?yīng)用服務(wù)器:使用合適的負載均衡設(shè)備(硬件還是軟件?F5還是LVS+KeepAlived); ?、诰彺娣?wù)器:改進緩存路由算法保證緩存數(shù)據(jù)的可訪問性; ?、蹟?shù)據(jù)庫服務(wù)器:通過路由區(qū)分等手段將多服務(wù)器組成一個集群; 四、擴展性—不痛不癢之間新業(yè)務(wù)就上線了(1)衡量標(biāo)準:增加新業(yè)務(wù)時是否可以實現(xiàn)對現(xiàn)有產(chǎn)品透明無影響(是否需要對現(xiàn)有業(yè)務(wù)進行修改匹配?); (2)主要手段: ①事件驅(qū)動架構(gòu):利用消息隊列實現(xiàn); ?、诜植际椒?wù):將業(yè)務(wù)和可復(fù)用服務(wù)分離; 五、安全性—媽媽再也不用擔(dān)心的我的照片了(1)何為安全性?保護網(wǎng)站不受惡意訪問和攻擊,保護網(wǎng)站的重要數(shù)據(jù)不被竊?。?/p> (2)衡量標(biāo)準:針對現(xiàn)存和潛在的攻擊竊密手段,是否有可靠的應(yīng)對策略; 本章思維導(dǎo)圖
|
|