濮阳杆衣贸易有限公司

主頁 > 知識庫 > 設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項

設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項

熱門標簽:醫(yī)院地圖標注 語音平臺系統(tǒng) 滄州智能外呼系統(tǒng)收費 嘟聲的電銷機器人 忻州外呼系統(tǒng)接口對接 洛陽便宜外呼系統(tǒng)廠家 電銷機器人怎么收費 湖北穩(wěn)定外呼系統(tǒng) 地圖標注和圖片標注
其實要設計一個高可用、高負載的系統(tǒng)還是有一定的規(guī)矩可循的,其手段無外乎向上擴展(Sacle Up 硬件擴展)或者向外擴展(Scale Out 軟件擴展),這兩種方案在某一階段時期,會顯著改善網(wǎng)站的性能,但不久之后,問題依舊。本文參考網(wǎng)上相關(guān)資料,試圖提供一個可行的 "有限" 解決方案。

早期

1. 對業(yè)務應用進行垂直分割,將不同的業(yè)務邊界劃分出來。程序員常說的 "多層體系" 只是縱向解決了不同編程層次的劃分,相對于業(yè)務而言,并沒有做出什么處理?,F(xiàn)在 SOA 大行其道,除了人們認識到面向服務帶來的互聯(lián)、擴展性以外,它也將不同服務的變化區(qū)分開來,各自擁有獨立的實現(xiàn)和存儲機制。每個服務使用不同的數(shù)據(jù)庫或數(shù)據(jù)表,從一定程度上減輕了以往單個數(shù)據(jù)庫頻繁造成的 "鎖" 和 I/O 瓶頸問題。

2. 將網(wǎng)站系統(tǒng)中的動態(tài)內(nèi)容和靜態(tài)資源分離出來,使用單獨的更加高效的服務器(諸如 Apache + Linux)提供靜態(tài)信息。多數(shù)情況下,流量的極大部分來源于圖片、視頻等,用多臺服務器同時提供頁面顯示除了可以提高頁面響應和現(xiàn)實速度外,同時他將流量分解到多臺服務器上。另外,我們應該避免使用動態(tài)解析 (ASPNET_ISAPI.dll / HttpModule / HttpHandler) 來處理靜態(tài)數(shù)據(jù)的過濾和路徑重寫。

3. 使用緩存機制,包括使用諸如 ASP.NET Cache、PageCache、創(chuàng)建靜態(tài)頁面等手段。設計良好的緩存機制能極大提高系統(tǒng)性能和響應速度。

4. 使用 64 位數(shù)據(jù)庫系統(tǒng)。SQL Server 2005 在 64 位系統(tǒng)上可以使用更多的內(nèi)存(最高64GB),而且在多 CPU 下也擁有更好的性能。有了更大的內(nèi)存,我們甚至可以將某些常用且極少變化的表(比如分類目錄表等)設置為內(nèi)存表以提高響應速度。

5. 關(guān)閉操作系統(tǒng)的某些安全設置,比如 Windows 2003 預防 DDOS 攻擊的一些設置,也可以避免一些意外的訪問瓶頸。

運行期

6. 建立多數(shù)據(jù)庫體系。使用單個或多個用于數(shù)據(jù)更新的數(shù)據(jù)庫服務器,然后利用數(shù)據(jù)庫的復制和訂閱功能同步到其他多臺專門用于顯示的數(shù)據(jù)庫服務器上,這樣可以有效減少因為更新帶來的數(shù)據(jù)庫訪問等待。當然,這種體系并不適用所有的業(yè)務。

7. 對大數(shù)據(jù)表進行分區(qū)?,F(xiàn)在的主流數(shù)據(jù)庫基本都支持數(shù)據(jù)表分區(qū)功能,我們可以橫向分區(qū),將不同時期的數(shù)據(jù)存放到多個分區(qū)表中;也可以縱向分區(qū),將不常用的字段放到其他分區(qū)表中。分區(qū)表并不會影響到我們的開發(fā)模式,無須對代碼進行調(diào)整,但數(shù)據(jù)表尺寸從 TB 減小到 GB 所帶來的好處是無法忽略的。

8. 使用負載均衡等手段提升性能。包括DNS負載均衡、代理服務器負載均衡、地址轉(zhuǎn)換網(wǎng)關(guān)負載均衡、協(xié)議內(nèi)部支持負載均衡、NAT負載均衡、反向代理負載均衡等,負載均衡作為最常用的上擴手段,其效果也非常明顯。

9. 使用 SAN 等專用的存儲系統(tǒng)來提高 I/O 性能。SAN 使用光纖通道連接多個存儲設備,可以改善多個服務器硬盤之間使用網(wǎng)線傳輸數(shù)據(jù)的性能問題。此外,SAN 還可以動態(tài)調(diào)整存儲容量,更加有利于系統(tǒng)備份和恢復。

10. 電力備份。如果是自主機房,除了配置 UPS 電源外,最好擁有獨立的發(fā)電設備。當然,對中小型網(wǎng)站而言,這過于奢侈了些。

標簽:日照 宜賓 96 山南 定州 防城港 巴彥淖爾 內(nèi)蒙古

巨人網(wǎng)絡通訊聲明:本文標題《設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項》,本文關(guān)鍵詞  設計,高可用,高,可用,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項》相關(guān)的同類信息!
  • 本頁收集關(guān)于設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    铜川市| 肇州县| 木里| 开阳县| 象州县| 闽清县| 竹山县| 邵武市| 上高县| 汤阴县| 兴宁市| 绍兴市| 锦屏县| 芷江| 玛纳斯县| 临沧市| 枝江市| 阿拉善左旗| 镇赉县| 汪清县| 雅安市| 巩义市| 邹平县| 林周县| 龙川县| 镇平县| 巩留县| 修文县| 永定县| 梁河县| 定陶县| 杭州市| 浦江县| 克什克腾旗| 犍为县| 兴海县| 万山特区| 色达县| 洛宁县| 黄平县| 阳原县|