大型網站技術架構文摘

第一篇 概述javascript

1.大型網站架構演化php

1.1 大型網站軟件系統的特色css

高併發,大流量,高可用,海量數據,用戶分佈普遍,網絡狀況複雜,安全環境惡劣,需求快速變動,發佈頻繁,漸進式發展前端

1.2 大型網站架構演化發展歷程java

php+mysql+linux 一臺電腦----->mysql

應用服務器+文件服務器+數據庫服務器----->linux

應用服務器的本地緩存,分佈式緩存----->web

應用服務器的集羣(負載均衡調度服務器)----->算法

數據庫讀寫分離(主從數據庫)----->sql

CDN和反向代理----->

分佈式數據庫+分佈式文件系統(業務分庫)----->

nosql+搜索引擎(統一數據訪問模塊)----->

業務拆分----->

分佈式服務

2.大型網站架構模式

分層,分割,分佈式,(分佈式應用和服務,分佈式靜態資源,分佈式數據和存儲,分佈式計算),集羣,緩存(CDN,反向代理,本地緩存,分佈式緩存),異步(分佈式消息隊列),冗餘,自動化,安全

3.大型網站核心架構要素

性能,可用性,伸縮性,擴展性,安全性

第二篇 架構

4.瞬時響應:網站的高性能架構

4.1 性能測試指標

響應時間,併發數,吞吐量,性能計數器

4.2 性能測試方法

性能測試,負載測試,壓力測試,穩定性測試

4.2 web前端性能優化

a.瀏覽器訪問優化

1.減小http請求,合併css,合併javascript,合併圖片

2.使用瀏覽器緩存 設置http頭中cache-control和expires的屬性

3.啓用壓縮 gzip壓縮

4.css放在頁面最上面,javascript放在最下面

5.減小cookie傳輸

b.CDN加速

c.反向代理

4.3 應用服務器性能優化

1.分佈式緩存

a.JBoss Cache爲表明的須要更新同步

b.Memcached爲表明的不互相通訊 (簡單的通訊協議,豐富的客戶端程序,高性能的網絡通訊,高效的內存管理(lru算法,近期最小使用),互不通訊的服務器集羣架構

2.異步操做 消息隊列異步化調用

3.使用集羣

4.代碼優化

a.多線程 b.資源複用 c.數據結構 d.垃圾回收

4.4 存儲性能優化

機械硬盤 vs 固態硬盤

B+樹 vs LSM樹

RAID vs HDFS

廉價磁盤冗餘陣列

hadoop分佈式文件系統

5.萬無一失:網站的高可用架構

1.session複製

2.session綁定

3.利用cookie記錄session

4.session服務器

高可用的服務:1分級管理 2超時設置 3異步調用 4服務降級 5冪等性設計

高可用的數據:

高可用的網站的軟件質量保證:網站發佈流程:

自動化測試:

網站運行監控:用戶行爲日誌收集,服務器性能監控

6.永無止境:網站的伸縮性架構

負載均衡的算法:輪詢,加權輪詢,隨機,最少鏈接,源地址散列

7.隨需應變: 網站的可擴展架構

事件驅動架構

8.固若金湯:網站的安全架構

消毒,httponly,

sql注入:

消毒,參數綁定

表單token,驗證碼,

 

文本匹配,分類算法,黑名單

第三篇 案例

9. 淘寶網的架構演化案例分析

10.維基百科的高性能架構設計分析

11.海量分佈式存儲系統Doris的高可用架構設計分析

12.網站秒殺系統架構設計案例分析

秒殺系統獨立部署

秒殺商品界面靜態化

租借秒殺系統網絡帶寬

動態生成隨機下單頁面URL

13.大型網站典型故障案例分析

第四篇 架構師

14.架構師領導藝術

15.網站架構師職場攻略

16.漫話網站架構師 

相關文章
相關標籤/搜索