淺議大型網站動態應用系統架構_第1頁
淺議大型網站動態應用系統架構_第2頁
淺議大型網站動態應用系統架構_第3頁
淺議大型網站動態應用系統架構_第4頁
淺議大型網站動態應用系統架構_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、淺談大型動態應用系統架構動態應用,是相對于靜態容而言,是指以c/c+、php、Java、perl、.net等服務器端語言開發的網絡應用軟件,比如論壇、網絡相冊、交友、BLOG等常見應用。動態應用系統通常與數據庫系統、緩存系統、分布式存儲系統等密不可分。大型動態應用系統平臺主要是針對于大流量、高并發建立的底層系統架構。大型的運行需要一個可靠、安全、可擴展、易維護的應用系統平臺做為支撐,以保證應用的平穩運行。大型動態應用系統又可分為幾個子系統:l Web前端系統l 負載均衡系統l 數據庫集群系統l 緩存系統l 分布式存儲系統l 分布式服務器管理系統l 代碼分發系統Web前端系統結構圖:為了達到不同

2、應用的服務器共享、避免單點故障、集中管理、統一配置等目的,不以應用劃分服務器,而是將所有服務器做統一使用,每臺服務器都可以對多個應用提供服務,當某些應用訪問量升高時,通過增加服務器節點達到整個服務器集群的性能提高,同時使他應用也會受益。該Web前端系統基于Apache/Lig d/Eginx等的虛擬主機平臺,提供PHP程序運行環境。服務器對開發人員是透明的,不需要開發人員介入服務器管理 負載均衡系統負載均衡系統分為硬件和軟件兩種。硬件負載均衡效率高,但是價格貴,比如F5等。軟件負載均衡系統價格較低或者免費,效率較硬件負載均衡系統低,不過對于流量一般或稍大些來講也足夠使用,比如lvs/nginx

3、/haproxy。大多數都是硬件、軟件負載均衡系統并用。數據庫集群系統結構圖: 由于Web前端采用了負載均衡集群結構提高了服務的有效性和擴展性,因此數據庫必須也是高可靠的才能保證整個服務體系的高可靠性,如何構建一個高可靠的、可以提供大規模并發處理的數據庫體系?我們可以采用如上圖所示的方案:1) 使用 MySQL 數據庫,考慮到Web應用的數據庫讀多寫少的特點,我們主要對讀數據庫做了優化,提供專用的讀數據庫和寫數據庫,在應用程序中實現讀操作和寫操作分別訪問不同的數據庫。2) 使用 MySQL Replication 機制實現快速將主庫(寫庫)的數據庫復制到從庫(讀庫)。一個主庫對應多個從庫,主庫

4、數據實時同步到從庫。 3) 寫數據庫有多臺,每臺都可以提供多個應用共同使用,這樣可以解決寫庫的性能瓶頸問題和單點故障問題。 4) 讀數據庫有多臺,通過負載均衡設備實現負載均衡,從而達到讀數據庫的高性能、高可靠和高可擴展性。5) 數據庫服務器和應用服務器分離。6) 從數據庫使用BigIP做負載均衡。緩存系統緩存分為文件緩存、存緩存、數據庫緩存。在大型Web應用中使用最多且效率最高的是存緩存。最常用的存緩存工具是Memcachd。使用正確的緩存系統可以達到實現以下目標:1、 使用緩存系統可以提高訪問效率,提高服務器吞吐能力,改善用戶體驗。2、 減輕對數據庫與存儲集服務器的訪問壓力3、 Memcac

5、hed服務器有多臺,避免單點故障,提供高可靠性和可擴展性,提高性能。分布式存儲系統結構圖: WEB系統平臺中的存儲需求有下面兩個特點: 1) 存儲量很大,經常會達到單臺服務器無法提供的規模,比如相冊、視頻等應用。因此需要專業的大規模存儲系統。 2) 負載均衡cluster中的每個節點都有可能訪問任何一個數據對象,每個節點對數據的處理也能被其他節點共享,因此這些節點要操作的數據從邏輯上看只能是一個整體,不是各自獨立的數據資源。因此高性能的分布式存儲系統對于大型應用來說是非常重要的一環。(這個地方需要加入對某個分布式存儲系統的簡單介紹。)分布式服務器管理系統結構圖: 隨著訪問流量的不斷增加,大多的

6、網絡服務都是以負載均衡集群的方式對外提供服務,隨之集群規模的擴大,原來基于單機的服務器管理模式已經不能夠滿足我們的需求,新的需求必須能夠集中式的、分組的、批量的、自動化的對服務器進行管理,能夠批量化的執行計劃任務。在分布式服務器管理系統軟件中有一些比較優秀的軟件,其中比較理想的一個是 Cfengine。它可以對服務器進行分組,不同的分組可以分別定制系統配置文件、計劃任務等配置。它是基于C/S 結構的,所有的服務器配置和管理腳本程序都保存在Cfengine Server上,而被管理的服務器運行著 Cfengine Client 程序,Cfengine Client通過SSL加密的連接定期的向服務

7、器端發送請求以獲取最新的配置文件和管理命令、腳本程序、補丁安裝等任務。 有了Cfengine 這種集中式的服務器管理工具,我們就可以高效的實現大規模的服務器集群管理,被管理服務器和 Cfengine Server 可以分布在任何位置,只要網絡可以連通就能實現快速自動化的管理。 代碼發布系統結構圖:隨著訪問流量的不斷增加,大多的網絡服務都是以負載均衡集群的方式對外提供服務,隨之集群規模的擴大,為了滿足集群環境下程序代碼的批量分發和更新,我們還需要一個程序代碼發布系統。這個發布系統可以幫我們實現下面的目標:1) 生產環境的服務器以虛擬主機方式提供服務,不需要開發人員介入維護和直接操作,提供發布系統可以實現不需要登陸服務器就能把程序分發到目標服務器。 2) 我們要實現部開發、部測試、生產環境測試、生產環境

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論