大型web構架設計--學習筆記

大型web構架設計
網絡層面+服務器構架+應用層面開發
  • 網站大訪問量
  • 偶以前瞭解的門戶網站爲啥這麼快?負載均衡就是多的IP負載一個域名,而集羣是一個IP對多臺服務器!
百科顯示:服務器集羣就是指將很多服務器集中起來一起進行同一種服務,在客戶端看來就象是隻有一個服務器 集羣可以利用多個計算機進行並行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常運行
1.負載均衡技術(用戶羣體分流,輪詢圈)
Cisco(思科) 以太網通道
思科是啥?咱也得了解一下。

  • Windows NLB技術
  • F5等負載均衡器 (思科華爲的產品) 以上方案雖然牛,都是要錢的啊!
  • Linux LVS技術(linux virtual server)wiki上顯示項目在1998年5月由章文嵩成立,是中國國內最早出現的自由軟件項目之一。ca,碉堡了
    • 典型的LVS的結構

2.數據冗餘技術(防止單點故障,做數據備份!我們學到的raid!)
    • Cisco HSRP熱備份路由 (線路冗餘技術,網絡層面,多臺路由器{虛擬路由器,備份路由器,活躍路由器}) IBMP5(100萬)
    • Windows集羣技術
    • Linux HA集羣技術
    • IBM AIX集羣(成本相當高!)
  • 網站大數據存儲
1.主流數據庫(貌似直接忽略mssql,不是mssql2012剛出來嘛)
  • MySQL主從和分區技術(以前是Sun,被Oracle收購,開源產品)
上次自由軟件日,聽了淘寶人講了Oceanbase的講座。
mysql分庫分表
垂直分表 (字段不可能很多,所以大部分壓力來自水平)
水平分表 (當字段達到1億條) 邏輯上一張表,物理上多張表
  • Oracle(一套要上百萬)
  • Db2(IBM)
  • NoSQL(非關係型數據庫)
    • Mongodb數據庫
      • 分佈式文件存儲,C++編寫
網站加速技術
  • 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億條,千萬級別查詢毫秒級。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章