Internet技術(shù)的快速革新極大的改進(jìn)了應(yīng)用的部署方法。成千上萬個(gè)Internet 網(wǎng)站從原來一成不變的””書本件””信息應(yīng)用迅速成為具有高效處理能力的互動(dòng)應(yīng)用。許多大企業(yè)及Internet 服務(wù)和內(nèi)容供應(yīng)商使用新的互連網(wǎng)技術(shù)組建大型的企業(yè)內(nèi)部網(wǎng)和服務(wù)性網(wǎng)站。在企業(yè)與企業(yè),企業(yè)與合作伙伴之間建立安全的供應(yīng)和銷售鏈流,提高了雙方的信息交流能力。


    隨著Internet上應(yīng)用的不斷成熟和發(fā)展,可伸縮性和可用性變得越來越重要。 可用性是指一個(gè)應(yīng)用系統(tǒng)可以執(zhí)行任務(wù)的時(shí)間總和,一般是以系統(tǒng)正常運(yùn)行時(shí)間的百分比來計(jì)算??缮炜s性是指一個(gè)企業(yè)應(yīng)用系統(tǒng)增加工作量時(shí),保持可以接受的性能水平的能力。據(jù)IDC報(bào)告,對一個(gè)WEB用戶來說,10秒的響應(yīng)時(shí)間是一個(gè)極限,并且用戶不能忍受低劣的網(wǎng)站質(zhì)量。那么,對于一個(gè)企業(yè)萬維網(wǎng)的決策者來說,應(yīng)付不可預(yù)測的臨時(shí)通信堵塞的能力和系統(tǒng)的長遠(yuǎn)擴(kuò)展能力,即可伸縮性。 7X24小時(shí)的連續(xù)運(yùn)轉(zhuǎn)能力,即高可用性,以及系統(tǒng)的安全性和可管理性,成為共同尋求的目標(biāo)。


    要部署和完成一個(gè)Web Hosting或出版的環(huán)境并不是一件容易的事情,有許多的問題需要考慮, 例如軟件,硬件,容量,配置,部署,安裝,操作環(huán)境,費(fèi)用,發(fā)展計(jì)劃等等。然而,不管你的Web Hosting環(huán)境的大小,組成元素和概念都大同小異。Web服務(wù)器可以分為三類:Intranet(企業(yè)內(nèi)部部門和發(fā)展)WEB服務(wù)器,staging Web服務(wù)器,Web Hosting(production) 服務(wù)器。另外,還有防火墻服務(wù)器,內(nèi)容(Content)生成和管理服務(wù)器等。如按功能區(qū)域分,可分為三個(gè)區(qū)。第一個(gè)區(qū)是Intranet區(qū),整個(gè)網(wǎng)站內(nèi)容的設(shè)計(jì),創(chuàng)作和測試都在這個(gè)內(nèi)部區(qū)域完成,并且為其它區(qū)域提供數(shù)據(jù)資源和服務(wù)。第二個(gè)區(qū)是Production(產(chǎn)品)區(qū),這是一個(gè)公共區(qū)域,最終的對外發(fā)布內(nèi)容就放在這里。第三個(gè)區(qū)是Staging區(qū),在非正式場合我們稱它為DMZ(非軍事區(qū)),它位于其他二個(gè)區(qū)之間,提供了一個(gè)額外的安全隔離區(qū),并且作為一個(gè)中間區(qū),可以提供一個(gè)數(shù)據(jù)分段移動(dòng)和修改測試平臺(tái),為Production區(qū)交付最終的內(nèi)容。 康柏公司有豐富的Internet經(jīng)驗(yàn),通過訪問大量的用戶,Internet服務(wù)供應(yīng)商和WEB結(jié)構(gòu)顧問機(jī)構(gòu),分析,綜合并測試了客戶的最好方案, 提出了DISA (Distributed Internet Server Array,分布式因特網(wǎng)服務(wù)器陣列)結(jié)構(gòu)。此結(jié)構(gòu)是基于傳統(tǒng)的高可用性和高可伸縮性原則和技術(shù), 使用了新的適合于Internet 應(yīng)用的方法,并增加了內(nèi)涵。


二、DISA的組件和結(jié)構(gòu)




    上圖就是DISA體系結(jié)構(gòu)的核心組件圖。DISA體系結(jié)構(gòu)由一個(gè)核心應(yīng)用堆棧和兩個(gè)全局組件組成。核心應(yīng)用堆棧包括四個(gè)元素: 客戶層、流量負(fù)載均衡層、應(yīng)用服務(wù)器層和數(shù)據(jù)資源層。安全保障體系和綜合管理機(jī)制作為兩個(gè)全局組件貫穿整個(gè)核心應(yīng)用堆棧。


    基于上述之DISA的體系結(jié)構(gòu),我們可以構(gòu)建出實(shí)體的邏輯簡圖(參看下圖)。 客戶端的請求通過INTERNET發(fā)送至網(wǎng)站,由智能的流量負(fù)載均衡設(shè)備自動(dòng)的把這些請求合理分發(fā)到不同的應(yīng)用服務(wù)器,因?yàn)檫@些應(yīng)用服務(wù)器是負(fù)載均衡的,所以增加應(yīng)用服務(wù)器的數(shù)量,系統(tǒng)的性能就會(huì)線性增加。在DISA結(jié)構(gòu)中,服務(wù)器的WEB內(nèi)容并不是在各個(gè)服務(wù)器的本地盤之間進(jìn)行復(fù)制,而是把相關(guān)的內(nèi)容和資源放在一個(gè)集中的,高可用的后臺(tái)文件服務(wù)器組中,這樣做的另一個(gè)好處是能夠容易處理快速的WEB內(nèi)容變化。那么,后臺(tái)的系統(tǒng),就是所謂數(shù)據(jù)資源層,由高性能和高可用的服務(wù)器組成,除了為應(yīng)用服務(wù)器提供宿主文件服務(wù)外,還提供數(shù)據(jù)庫服務(wù)或其他應(yīng)用服務(wù),例如ERP的應(yīng)用,SAP或Sibel等。


    實(shí)現(xiàn)DISA的每一層有許多方法,包括軟件和硬件。本文偏重于在微軟平臺(tái)上的應(yīng)用和部署。



三、DISA核心應(yīng)用堆棧


    客戶層


    客戶層是應(yīng)用數(shù)據(jù)的消耗層。大多數(shù)通用客戶層都是WEB瀏覽器(例如Microsoft Internet Explorer)。然而,DISA體系結(jié)構(gòu)將會(huì)應(yīng)用于其它擁有非瀏覽器客戶機(jī)的Internet應(yīng)用,諸如FTP、Internet電子郵件、DNS等等。有時(shí),客戶層可以是應(yīng)用從DISA系統(tǒng)提取數(shù)據(jù)。為了簡單起見,我們將假設(shè)本文所有的客戶層都是瀏覽器。


    在DISA系統(tǒng)中,客戶層向一個(gè)主機(jī)名稱(例如,http://www.compaq.com)發(fā)出請求,該主機(jī)名稱代表了使用DISA體系結(jié)構(gòu)所部署的應(yīng)用。最終用戶并不知道系統(tǒng)如何運(yùn)作來滿足請求的過程,以及是否需要特殊的客戶機(jī)軟件或配置。


    流量負(fù)載均衡層


    互聯(lián)網(wǎng)的快速增長已經(jīng)使網(wǎng)絡(luò)服務(wù)器面對的訪問數(shù)量大大增加,并且更加不可預(yù)知。如今,服務(wù)器必須具備提供大量并發(fā)訪問服務(wù)的能力,其處理能力和I/O能力已經(jīng)成為提供服務(wù)的瓶頸。如果客戶的增多導(dǎo)致通信量超出了服務(wù)器能承受的范圍,那么其結(jié)果必然是宕機(jī)。這時(shí)候,你當(dāng)然必須升級(jí)你的服務(wù)器,但是,單臺(tái)服務(wù)器有限的性能可能解決不了這個(gè)問題,一臺(tái)普通服務(wù)器的處理能力只能達(dá)到每秒幾萬個(gè)到幾十萬個(gè)請求,無法在一秒鐘內(nèi)處理上百萬個(gè)甚至更多的請求,同時(shí)你要考慮投資保護(hù)的問題。但若能將多臺(tái)這樣的服務(wù)器組成一個(gè)系統(tǒng),并通過相應(yīng)的技術(shù)將所有請求平均分配給所有服務(wù)器,那么這個(gè)系統(tǒng)就完全擁有每秒鐘處理幾百萬個(gè)甚至更多請求的能力,而你的原始投資也得到了保護(hù)。這就是負(fù)載均衡的基本設(shè)計(jì)思想。


    負(fù)載均衡層以虛擬主機(jī)名稱的形式來表示單個(gè)系統(tǒng)映像,并跨越多個(gè)應(yīng)用服務(wù)器分配客戶機(jī)請求。這個(gè)功能為應(yīng)用服務(wù)器陣列提供了卓越的可用性、可伸縮性和管理性。可運(yùn)用各種方式來進(jìn)行負(fù)載均衡,包括RoundRobinDNS和各種智能負(fù)載均衡技術(shù)。 RRDNS是一種通過配置域名(DNS)服務(wù)器來實(shí)現(xiàn)負(fù)載均衡的方法。因此,特殊主機(jī)名稱所采用的DNS查找方法可跨越IP地址池,而不是單個(gè)地址循環(huán)分配。每一個(gè)客戶機(jī)連續(xù)訪問一個(gè)站點(diǎn)的時(shí)候,均定向?yàn)椴煌膽?yīng)用服務(wù)器,從而達(dá)到了最起碼的負(fù)載均衡效果。RRDNS是一種直接而便宜的方法,但是它有許多缺點(diǎn)。其中一個(gè)主要的弱點(diǎn)是DNS服務(wù)器沒有一個(gè)反饋的機(jī)制來接收應(yīng)用服務(wù)器的當(dāng)前狀況信息。如果一個(gè)服務(wù)器過載或宕機(jī),DNS服務(wù)器不會(huì)發(fā)現(xiàn),會(huì)繼續(xù)把客戶請求發(fā)送過去,直到人工干預(yù),排除故障為止。另一個(gè)弱點(diǎn)是DNS服務(wù)器只能簡單的平均分配客戶請求,如果有不同處理能力的應(yīng)用服務(wù)器的話,很快會(huì)使性能較差的機(jī)器過載。


    為了彌補(bǔ)RRDNS的不足之處,很多廠商已經(jīng)開發(fā)了智能負(fù)載均衡產(chǎn)品。此類產(chǎn)品包括Cisco負(fù)載均衡器(LocalDirector)、F5Labs BIG/ip、RND網(wǎng)絡(luò)Web服務(wù)器導(dǎo)向器、HydrawebHydra系列、Resonate Central Dispatch、Bright Tiger Cluster Cats、HolontechHyperflow和AlteonAceSwitch。


    目前的負(fù)載均衡技術(shù)具有幾種形式,包括交換機(jī)(Holontech,Alteon,Arrowpoint)、承裁網(wǎng)絡(luò)“設(shè)備”(諸如Cisco,F(xiàn)5,HydraWEB)及安裝于通用服務(wù)器上的軟件,諸如Resonate Dispatch、BrightTiger、TurboLinux Cluster , WLBS。


    WLBS (Windows NT Load Balancing Service)是微軟公司提供的實(shí)現(xiàn)負(fù)載均衡的免費(fèi)軟件(可以從Microsoft網(wǎng)站上下載,需要Enterprise Edition License, 可以在標(biāo)準(zhǔn)版的NT上運(yùn)行)。WLBS通過使用二臺(tái)或多臺(tái)的服務(wù)器共同工作所組成的集群,提供高可用的和高可擴(kuò)展的Internet/Intranet服務(wù)。客戶端并不能區(qū)分他的請求是在一臺(tái)服務(wù)器上還是運(yùn)行在WLBS集群上。然而,運(yùn)行在WLBS集群上與在一臺(tái)服務(wù)器上有著很大的區(qū)別,首先WLBS集群上的某臺(tái)服務(wù)器宕機(jī),集群會(huì)自動(dòng)調(diào)整集群的組成成員,客戶服務(wù)不會(huì)中斷,另外,如果使用基于端口的負(fù)載均衡,客戶端的響應(yīng)時(shí)間會(huì)縮短。


    由于WLBS獨(dú)特的,真正意義上的分布式結(jié)構(gòu),它是一個(gè)理想的構(gòu)建高可用的和高可擴(kuò)展的Internet軟件,并且能輕松應(yīng)付大型網(wǎng)站上繁重的任務(wù)。已經(jīng)過WLBS應(yīng)用測試的軟件有:Web 服務(wù)(例如Microsoft IIS) 、基于微軟服務(wù)器的 VPN 解決方案、媒體流(例如Microsoft Windows NT Server NetShow Services) 、代理服務(wù)(例如Microsoft Proxy Server)。因?yàn)閃LBS是基于IP的負(fù)載均衡的軟件,所以除了上述應(yīng)用外,其他應(yīng)用也可以從中獲得好處。


    應(yīng)用服務(wù)器層


    Internet應(yīng)用的工作主要由應(yīng)用服務(wù)器層來完成。一個(gè)簡單的Internet應(yīng)用范例是基于Web的服務(wù)器,其中絕大多數(shù)是靜態(tài)頁面服務(wù),包括少量的CGI腳本以處理HTML的輸入表格(例如,在郵件列表中加入注冊用戶)。


    更加完備的Internet應(yīng)用使用先進(jìn)的CGI腳本、Allaire ColdFusion、Microsoft Active Server Page(ASP)或JavaServlet,它們運(yùn)行于應(yīng)用服務(wù)器之上,并從位于中央服務(wù)器的數(shù)據(jù)庫中檢索數(shù)據(jù)資源。某些應(yīng)用還支持從早期系統(tǒng)或企業(yè)應(yīng)用中檢索信息的方式,諸如SAP、BAAN和Siebel。


    更加復(fù)雜的應(yīng)用可以使用完備的應(yīng)用服務(wù)器軟件包,該軟件包可將萬維網(wǎng)服務(wù)和應(yīng)用邏輯劃分為分離的物理服務(wù)器。這種軟件包包括HAHTSoftware的HAHTsite、NetDynamics和Netscape Application Server(前身為KivaEnterpriseServer)。這些軟件包一般包括運(yùn)行ISAPI或NSAPI程序的Web服務(wù)器,該程序與專用應(yīng)用邏輯服務(wù)器池進(jìn)行通信。應(yīng)用邏輯服務(wù)器檢索并處理來自幾個(gè)不同數(shù)據(jù)庫、生產(chǎn)處理系統(tǒng)和企業(yè)應(yīng)用的數(shù)據(jù),然后向Web服務(wù)器返回格式化的結(jié)果。


    這些高端系統(tǒng)一般具有內(nèi)置特性,從而實(shí)現(xiàn)應(yīng)用邏輯服務(wù)器的高可用性及可伸縮性。然而,這些系統(tǒng)為了滿足Web服務(wù)器層自身的可用性和可伸縮性要求,仍然需要負(fù)載均衡。


    WEB服務(wù)器可選擇的軟件很多,其中Microsoft IIS是一個(gè)高性能,容易設(shè)置和管理的免費(fèi)軟件。另外,還有Microsoft Site Server 和Commerce Server2000, 提供強(qiáng)大的分析,認(rèn)知和出版工具能讓你的用戶有一個(gè)個(gè)性化的快速查找、共享信息的能力和在線商務(wù)交易空間。


    站點(diǎn)經(jīng)常使用Microsoft Active Server Pages(ASP)來保存狀態(tài)信息。因?yàn)閃LBS不能處理應(yīng)用服務(wù)器集群之間的狀態(tài)同步,當(dāng)一個(gè)應(yīng)用服務(wù)器出問題時(shí),客戶端的ASP會(huì)話必須保持,以便由另一個(gè)節(jié)點(diǎn)接管,而客戶會(huì)話將繼續(xù)進(jìn)行。目前有三種可能的方案。第一種,封裝所有的狀態(tài)信息,把它放在客戶端的cookie(小甜餅)里,客戶機(jī)保存這個(gè)cookie,并在后續(xù)的服務(wù)器請求中使用。在這種情況下,客戶端發(fā)送的每一個(gè)請求都帶有所需的上下文信息。這種方法只是在狀態(tài)信息較少的情況下才可使用。第二種,在服務(wù)器上緩存狀態(tài)信息,同時(shí)使用后臺(tái)或中間層應(yīng)用服務(wù)器作為狀態(tài)信息的授權(quán)存儲(chǔ)檔案庫。在這種情況下,當(dāng)客戶機(jī)連接到服務(wù)器時(shí),因?yàn)樵趦?nèi)存中有狀態(tài)信息,所以處理請求非???,當(dāng)然必須有一個(gè)機(jī)制來刷新后臺(tái)的狀態(tài)信息的存儲(chǔ)檔案庫。第三種,可以用第三方的數(shù)據(jù)同步方案來實(shí)現(xiàn)。


    數(shù)據(jù)資源層


    數(shù)據(jù)資源層也稱為內(nèi)容(Content)層,是一個(gè)中心存儲(chǔ)庫,它存儲(chǔ)應(yīng)用數(shù)據(jù)或提供與其它控制應(yīng)用數(shù)據(jù)資源系統(tǒng)的連接。眾多Internet應(yīng)用都包括各種各樣的數(shù)據(jù)資源類型,它們可以是網(wǎng)絡(luò)文件系統(tǒng)、數(shù)據(jù)庫或其它應(yīng)用。


    人們普遍認(rèn)為基于文件系統(tǒng)的資源(諸如HTML、圖像等)必須存儲(chǔ)在應(yīng)用服務(wù)器的本地驅(qū)動(dòng)器上。使用這種方式的問題在于要同步保持復(fù)制數(shù)據(jù)是一項(xiàng)艱難的任務(wù),特別是在數(shù)據(jù)資源需要不斷變更的時(shí)候,而這也正是大多數(shù)成功的萬維網(wǎng)站點(diǎn)所面對的問題。雖然已經(jīng)推出了第三方文件復(fù)制解決方案,但是大多數(shù)可使用的解決方案通常是針對網(wǎng)絡(luò)文件服務(wù)器上基于中心文件的資源,而這些網(wǎng)絡(luò)文件服務(wù)器必須能夠提供大量的I/O性能,并且是高可用的。NetConstruct是一家位于洛杉磯的網(wǎng)絡(luò)體系結(jié)構(gòu)咨詢公司,它發(fā)現(xiàn)數(shù)據(jù)資源的集中化可顯著降低部署和管理大型、多服務(wù)器系統(tǒng)的復(fù)雜性。 大多數(shù)Web服務(wù)器能夠緩存內(nèi)存中的HTML、圖像和其它數(shù)據(jù)資源,從而避免發(fā)生為每一個(gè)URL請求接入本地或網(wǎng)絡(luò)驅(qū)動(dòng)器所固有的延遲。在DISA系統(tǒng)中,Web服務(wù)器從網(wǎng)絡(luò)文件共享,而不是本地驅(qū)動(dòng)器填充它們的高速緩存。


    對于任何集中式的應(yīng)用資源,數(shù)據(jù)資源必須高度可用,以使它們不會(huì)發(fā)生單點(diǎn)故障。像微軟NT Server Enterprise Edition(又稱為“Wolfpack”)和Windows2000 AdvanceServer, Windows 2000 DataCenter Server這些的集群化操作系統(tǒng),為文件系統(tǒng)和數(shù)據(jù)庫可用性提供了相對簡單且經(jīng)濟(jì)有效的方法。微軟的SQL2000數(shù)據(jù)庫和運(yùn)行在微軟平臺(tái)上的Oracle OPS都是高性能和高可靠的數(shù)據(jù)庫。另外,康柏的服務(wù)器恢復(fù)選件,經(jīng)驗(yàn)證是提供服務(wù)器故障恢復(fù)的有效方法。


    除了集群之外,還有很多精心設(shè)計(jì)的方法可使數(shù)據(jù)庫系統(tǒng)高可用和可伸縮。用戶可以使用事物處理服務(wù)器技術(shù)(諸如應(yīng)用層和數(shù)據(jù)資源層之間的BEA Systems Tuxedo和Microsoft Transaction Server)來改善數(shù)據(jù)庫的事物處理性能。在某些情況下還可以運(yùn)用分布式數(shù)據(jù)庫、并行數(shù)據(jù)庫、消息隊(duì)列和其它技術(shù)。


    安全保障體系


    如同可用性和伸縮性一樣,在DISA系統(tǒng)上部署的關(guān)鍵任務(wù)應(yīng)用一般需要可靠的安全途徑。確保隱私、防止否認(rèn)服務(wù)的侵襲、保護(hù)數(shù)據(jù)都是電子商務(wù)或連接Internet的Extranet應(yīng)用所明確要求的條件。其中許多安全要求也適用于Intranet應(yīng)用。


如上圖,是安全技術(shù)在DISA核心應(yīng)用層的各層上及各層間的應(yīng)用范例。如圖所示,SSL加密、防火墻、虛擬專用網(wǎng)絡(luò)(VPN)和OS加固技術(shù)可應(yīng)用于各個(gè)級(jí)別。有些智能負(fù)載均衡器可以為DISA系統(tǒng)中的組件提供基本安全功能。對于基于路由器的負(fù)載均衡器,如F5LabsBIG/ip,管理員可以設(shè)定打開所需服務(wù)器的TCP/IP端口。另外,BIG/ip能夠保護(hù)應(yīng)用服務(wù)器,防止它受各種常見拒絕服務(wù)的侵襲。


    安全技術(shù)實(shí)施的方式可以極大地影響DISA系統(tǒng)的可伸縮性和可用性。例如,放置在應(yīng)用服務(wù)器和數(shù)據(jù)資源之間的防火墻會(huì)因安全設(shè)置而成為性能瓶頸。除非使用適當(dāng)?shù)墓收匣謴?fù)選項(xiàng)配置(例如冗余FireWall),否則防火墻本身就是一個(gè)潛在的單點(diǎn)故障。另外,不是所有的防火墻都支持Oracle的SQL*NET之類的專用協(xié)議,也就是說,應(yīng)用服務(wù)器可能無法訪問隱藏在某些防火墻之后的Oracle數(shù)據(jù)庫。


四、綜合管理機(jī)制


    DISA體系結(jié)構(gòu)中的另一個(gè)共用組件是管理。DISA系統(tǒng)涉及許多不同的設(shè)備,它們協(xié)同工作以提供全面的應(yīng)用。這要求運(yùn)用有效的途徑來管理系統(tǒng),以便保證所有系統(tǒng)在線,并且以最佳的性能狀態(tài)運(yùn)行。參看下表。


    DISA中的其它技術(shù)及用具服務(wù)器


    上文提到的負(fù)載均衡技術(shù)的精髓在于數(shù)據(jù)處理的智能分配,它不能對這些數(shù)據(jù)本身作分類處理。那么,我們是否可以把這些數(shù)據(jù)本身作分類處理,以便由專用的用具服務(wù)器去處理, 從而從另一個(gè)角度來減輕主服務(wù)器的負(fù)擔(dān) 呢? 所以,我們需要引入一些其它技術(shù):緩存技術(shù),XML加速技術(shù),SSL加速技術(shù)等。見下圖??蛋赜蠺askSmart C 系列Cache用具服務(wù)器,TaskSmart N 系列NAS(Network Attached Server)用具服務(wù)器,并與INTEL合作推出SSL和XML加速用具服務(wù)器,VPN用具服務(wù)器。



五、DISA設(shè)計(jì)要領(lǐng)及優(yōu)勢


    DISA設(shè)計(jì)要領(lǐng)


    除了以上討論的各組件之外,還有一些完成DISA體系結(jié)構(gòu)定義所需遵循的重要原則。


    (一)使用多個(gè)應(yīng)用服務(wù)器


    當(dāng)與智能負(fù)載均衡技術(shù)結(jié)合使用時(shí),多個(gè)應(yīng)用服務(wù)器比一個(gè)具有大量處理器和內(nèi)存的服務(wù)器具有更高的可伸縮性和可用性。當(dāng)可用性至關(guān)重要時(shí),康柏建議至少使用三臺(tái)服務(wù)器,以便在一臺(tái)服務(wù)器進(jìn)行脫機(jī)維護(hù)的時(shí)候,保證有一對冗余服務(wù)器隨時(shí)在線。根據(jù)特定應(yīng)用的特性,應(yīng)用服務(wù)器可具有一個(gè)或多個(gè)處理器。通過使用適當(dāng)?shù)呢?fù)載均衡技術(shù),可以將具有不同處理能力、I/O特性,甚至不同操作系統(tǒng)的服務(wù)器結(jié)合在一個(gè)應(yīng)用服務(wù)器陣列中。


    (二)集中數(shù)據(jù)資源,避免在不同服務(wù)器復(fù)制數(shù)據(jù)資源


    如果運(yùn)用了適當(dāng)?shù)墓收匣謴?fù)技術(shù),集中式的數(shù)據(jù)資源服務(wù)器就能夠簡化快速管理更改數(shù)據(jù)資源的任務(wù)。集中應(yīng)用資源也能夠監(jiān)控容量擴(kuò)展和故障恢復(fù)。為了盡量減少停機(jī)時(shí)間,保持良好的性能狀態(tài),數(shù)據(jù)資源服務(wù)器應(yīng)配置多個(gè)處理器、大量RAM和冗余組件(NIC,電源和風(fēng)扇)。集群技術(shù)可以極大地提高集中化資源的可用性。


    (三)對每個(gè)潛在單點(diǎn)故障使用冗余技術(shù)


    故障恢復(fù)配置可用于負(fù)載均衡器、防火墻和網(wǎng)絡(luò)設(shè)備。智能負(fù)載均衡技術(shù)為冗余應(yīng)用服務(wù)器提供故障恢復(fù)功能。集群數(shù)據(jù)庫和網(wǎng)絡(luò)存儲(chǔ)確保了數(shù)據(jù)資源的可用性。經(jīng)復(fù)位和不間斷電源(UPS)進(jìn)行冗余網(wǎng)絡(luò)連接是可行的。


    (四)構(gòu)建應(yīng)用以保證用戶狀態(tài)信息不保持在單個(gè)應(yīng)用服務(wù)器上


    在應(yīng)用服務(wù)器上保持用戶狀態(tài)信息的應(yīng)用,某些負(fù)載均衡算法可能不起作用。有些負(fù)載均衡產(chǎn)品通過基于單個(gè)用戶管理負(fù)載確保每個(gè)用戶使用整個(gè)會(huì)話的相同應(yīng)用,避免了此類問題的發(fā)生。


    盡管這些方法可有效保證某些應(yīng)用的正常工作,但在應(yīng)用服務(wù)器出現(xiàn)故障時(shí),仍有丟失事物處理的可能。如果用戶狀態(tài)信息,如在線購物筐、信用卡信息、個(gè)人頁面設(shè)置等,只存儲(chǔ)在單個(gè)應(yīng)用服務(wù)器的內(nèi)存中,那么一旦服務(wù)器出現(xiàn)故障就會(huì)造成丟失事物處理。為減小這種風(fēng)險(xiǎn),應(yīng)用設(shè)計(jì)應(yīng)使用戶狀態(tài)信息以獨(dú)立于特定的應(yīng)用服務(wù)器。將狀態(tài)信息保存在客戶機(jī)Cookie、數(shù)據(jù)庫表和/或URL上,可以達(dá)到這個(gè)目的。


    如果應(yīng)用能夠遵循這些原則設(shè)計(jì),最終用戶通常只需單擊瀏覽器的重新加載按鈕即可恢復(fù)從應(yīng)用服務(wù)器的故障。負(fù)載均衡器將會(huì)把重新加載的請求轉(zhuǎn)移到正常運(yùn)行的應(yīng)用服務(wù)器上,該服務(wù)器能夠基于URL本身、Cookie或數(shù)據(jù)庫表中的信息重新創(chuàng)立用戶狀態(tài)。


    (五)利用工業(yè)標(biāo)準(zhǔn)的平臺(tái)和技術(shù)


    盡管DISA體系結(jié)構(gòu)可使用任何平臺(tái)進(jìn)行實(shí)施,但是工業(yè)標(biāo)準(zhǔn)的平臺(tái)有助于DISA系統(tǒng)充分發(fā)揮作用。DISA體系結(jié)構(gòu)允許企業(yè)利用工業(yè)標(biāo)準(zhǔn)的所有性能價(jià)格比優(yōu)勢,來提供高伸縮、高可用的Internet應(yīng)用。


    DISA的優(yōu)勢


    DISA體系結(jié)構(gòu)的優(yōu)勢體現(xiàn)在可伸縮性、可用性、價(jià)值和兼容性等方面。


    (一)線性可伸縮性
DISA體系結(jié)構(gòu)允許管理員快速、輕松地添加應(yīng)用容量以處理不斷增加的負(fù)載。小型DISA系統(tǒng)可以從兩臺(tái)應(yīng)用服務(wù)器開始,然后隨著負(fù)載的增加擴(kuò)展為20或30臺(tái)應(yīng)用服務(wù)器??蛋販y試說明向DISA系統(tǒng)添加應(yīng)用服務(wù)器能夠提供線性可伸縮性。特定DISA系統(tǒng)的可伸縮性高低取決于瓶頸的位置,并且因選擇特定產(chǎn)品和所述應(yīng)用的性能特征而有所不同。但是,DISA系統(tǒng)能夠處理非常廣泛的負(fù)載。在多數(shù)情況下,可利用增加選件解決瓶頸問題,而無需重新設(shè)計(jì)系統(tǒng)或更換設(shè)備。


    (二)高可用性


    DISA體系結(jié)構(gòu)的另一個(gè)優(yōu)勢在于它的高可用性。DISA系統(tǒng)在每一層上都具有完全冗余功能,從而確保無單點(diǎn)故障。完備的DISA系統(tǒng)無需系統(tǒng)脫機(jī)即可進(jìn)行不斷的更新和其它計(jì)劃內(nèi)的系統(tǒng)維護(hù)工作。另外,DISA系統(tǒng)還能夠輕松應(yīng)對由于硬件或軟件特性而帶來的偶然、計(jì)劃外維護(hù)工作。


    (三)高性能價(jià)格比


    DISA體系結(jié)構(gòu)允許Internet應(yīng)用設(shè)計(jì)者充分利用工業(yè)標(biāo)準(zhǔn)平臺(tái)帶來的所有性能價(jià)格比優(yōu)勢,而不必折衷可伸縮性和可用性。DISA體系結(jié)構(gòu)采用現(xiàn)成、工業(yè)標(biāo)準(zhǔn)的平臺(tái)和產(chǎn)品,它們沒有依賴特殊廠商特定的技術(shù)。在同等價(jià)格水平上,完備的DISA系統(tǒng)能夠比專用產(chǎn)品提供更高的可伸縮性和可用性。


分享到

多易

相關(guān)推薦