大型web構架設計
網絡層面+服務器構架+應用層面開發
- 網站大訪問量
- 偶以前瞭解的門戶網站爲啥這麼快?負載均衡就是多的IP負載一個域名,而集羣是一個IP對多臺服務器!
百科顯示:服務器集羣就是指將很多服務器集中起來一起進行同一種服務,在客戶端看來就象是隻有一個服務器 集羣可以利用多個計算機進行並行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常運行
1.負載均衡技術(用戶羣體分流,輪詢圈)
Cisco(思科) 以太網通道
思科是啥?咱也得了解一下。
- Windows NLB技術
- F5等負載均衡器 (思科華爲的產品) 以上方案雖然牛,都是要錢的啊!
- Linux LVS技術(linux virtual server)wiki上顯示項目在1998年5月由章文嵩成立,是中國國內最早出現的自由軟件項目之一。ca,碉堡了
2.數據冗餘技術(防止單點故障,做數據備份!我們學到的raid!)
- Cisco HSRP熱備份路由 (線路冗餘技術,網絡層面,多臺路由器{虛擬路由器,備份路由器,活躍路由器}) IBMP5(100萬)
- Windows集羣技術
- Linux HA集羣技術
- IBM AIX集羣(成本相當高!)
- 網站大數據存儲
1.主流數據庫(貌似直接忽略mssql,不是mssql2012剛出來嘛)
- MySQL主從和分區技術(以前是Sun,被Oracle收購,開源產品)
上次自由軟件日,聽了淘寶人講了Oceanbase的講座。
mysql分庫分表
垂直分表
(字段不可能很多,所以大部分壓力來自水平)
水平分表 (當字段達到1億條) 邏輯上一張表,物理上多張表
- Oracle(一套要上百萬)
- Db2(IBM)
- NoSQL(非關係型數據庫)
網站加速技術
- 1.Squid代理緩存技術 (反向存儲,動靜分離)
- 靜態數據(靜態頁面,圖片/flush,css,js)
- 動態數據(數據庫的請求記錄)
- squid cache
- 2.動態頁面靜態化緩存
- 方法一:Apache HTTP服務器的mod_rewrite,基於正則表達式解析器開發的重寫引擎
- 方法二:模板(框架)技術,Smarty模板,thinkphp框架,ZendFrameWork框架,Brophp等(這點重點!)
- 方法三:Ajax
- 3.Memcache
- 高性能分佈式內存對象緩存系統,在內存中維護一張巨大的hash表(key,value)
,大大提高讀取速度,但是斷電了,就會丟失數
- 4.Sphinx搜索加速
- 基於SQL的全文搜索引擎,可以結合MySQL,OostgreSQL做全文檢索。提供腳本語言API(php,python等)
- 單一索引可達1億條,千萬級別查詢毫秒級。