合理選擇Sharepoint 2010的拓?fù)浣Y(jié)構(gòu)
SharePoint的靈活性和豐富的功能一直為人所稱道。如在規(guī)劃時(shí),可以根據(jù)應(yīng)用規(guī)模的不同,選擇不同的拓?fù)浣Y(jié)構(gòu),在滿足用戶在性能與功能上的需求。在這里,筆者以SharePoint 2010為例,談?wù)勅绾胃鶕?jù)應(yīng)用規(guī)模的大小來選擇合適的拓?fù)浣Y(jié)構(gòu)。
一、服務(wù)器拓?fù)湟?guī)劃的關(guān)鍵因素
對(duì)于SharePoint應(yīng)用來說,該采用什么類型的服務(wù)器拓?fù)浣Y(jié)構(gòu)主要是有企業(yè)應(yīng)用的規(guī)模來決定的。規(guī)模越大,所采用的拓?fù)浣Y(jié)構(gòu)可能就越復(fù)雜。因?yàn)楹唵蔚耐負(fù)浣Y(jié)構(gòu),無法滿足用戶在性能與功能上的需求。在考慮規(guī)模的同時(shí),可能需要兼顧企業(yè)安全、網(wǎng)絡(luò)部署、服務(wù)器配置等方面的因素。
另外服務(wù)器拓?fù)浣Y(jié)構(gòu)確定之后,后續(xù)調(diào)整會(huì)比較麻煩。這跟網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是相同的道理。為此在SharePoint規(guī)劃的時(shí)候,一定要權(quán)衡各個(gè)方面的因素,合理確定所需要采用的服務(wù)器拓?fù)浣Y(jié)構(gòu)。雖然計(jì)劃沒有變化快,但是仍然需要盡量避免在短時(shí)間內(nèi)(如5年或者8年內(nèi))更改服務(wù)器的拓?fù)浣Y(jié)構(gòu)。
二、小型拓?fù)浣Y(jié)構(gòu)的應(yīng)用
大型的拓?fù)浣Y(jié)構(gòu)一般是由一臺(tái)數(shù)據(jù)庫、一臺(tái)Web應(yīng)用服務(wù)器、一臺(tái)應(yīng)用程序服務(wù)器組成。有時(shí)候甚至將應(yīng)用服務(wù)器與Web應(yīng)用部署在同一臺(tái)服務(wù)器上。如下圖所示。在小型服務(wù)器拓?fù)浣Y(jié)構(gòu)中,通常情況下將前端服務(wù)器配置為Web服務(wù)器,另外將一臺(tái)用作應(yīng)用程序服務(wù)器(也可以將兩者合二為一)。這里的應(yīng)用程序服務(wù)器,主要用來承載管理中心網(wǎng)站,并且處理其他與服務(wù)器環(huán)境相關(guān)的維護(hù)與管理任務(wù)。
如上圖所示,這個(gè)小型拓?fù)浣Y(jié)構(gòu)中,最重要的特點(diǎn)是全部采用的都是帶臺(tái)服務(wù)器。如數(shù)據(jù)庫應(yīng)用、應(yīng)用程序服務(wù)、Web應(yīng)用服務(wù)等等都是獨(dú)立的服務(wù)器,沒有負(fù)載均衡的功能。這種方案有利有弊。優(yōu)勢主要體現(xiàn)在成本與管理上面。對(duì)于中小型企業(yè)來說,用戶數(shù)量并不是很多,而且在SharePoint中實(shí)現(xiàn)的應(yīng)用也并不是很復(fù)雜。為此相對(duì)來說,對(duì)于性能的要求并不會(huì)很高。此時(shí)采用單獨(dú)的服務(wù)器基本上可以滿足要求。而且這個(gè)拓?fù)浣Y(jié)構(gòu)相對(duì)來說比較簡單,維護(hù)起來也比較方便。
這個(gè)拓?fù)浣Y(jié)構(gòu)的劣勢則主要體現(xiàn)在穩(wěn)定性上面。其采用的都是單一的服務(wù)器,但有一個(gè)服務(wù)器出現(xiàn)故障,如Web應(yīng)用服務(wù)器或者數(shù)據(jù)庫服務(wù)器出現(xiàn)問題的時(shí)候,那么用戶就將無法再使用這種應(yīng)用。而且在這種情況下,訪問壓力都是集中在單臺(tái)服務(wù)器上。沒有負(fù)載均衡的功能。為此在這種拓?fù)浣Y(jié)構(gòu)下,需要做好數(shù)據(jù)的即時(shí)備份,特別是數(shù)據(jù)的異地備份。這有利于當(dāng)服務(wù)器出現(xiàn)故障時(shí),數(shù)據(jù)不會(huì)丟失。
可見小型拓?fù)浣Y(jié)構(gòu)優(yōu)勢與劣勢都是相當(dāng)明顯的。作為管理人員,應(yīng)該對(duì)這些優(yōu)勢與劣勢都有清晰的認(rèn)識(shí)。只有如此,才能夠根據(jù)企業(yè)的實(shí)際情況下,判斷是否需要采用這種小型的拓?fù)浣Y(jié)構(gòu)。通常情況下,這種拓?fù)浣Y(jié)構(gòu)主要適用于小型企業(yè),而且能夠忍受一定的當(dāng)機(jī)時(shí)間。
三、中型拓?fù)浣Y(jié)構(gòu)的應(yīng)用
中型服務(wù)器拓?fù)浣Y(jié)構(gòu)主要由一臺(tái)數(shù)據(jù)庫服務(wù)器、一臺(tái)應(yīng)用程序服務(wù)器和一臺(tái)到兩臺(tái)Web服務(wù)器構(gòu)成。中型拓?fù)浣Y(jié)構(gòu)與小型拓?fù)浣Y(jié)構(gòu)相比,主要體現(xiàn)在兩個(gè)方面。一是在小型拓?fù)浣Y(jié)構(gòu)中,應(yīng)用程序服務(wù)器與Web服務(wù)器可以在同一臺(tái)服務(wù)器上實(shí)現(xiàn)。而在中型拓?fù)浣Y(jié)構(gòu)中,往往要求他們是獨(dú)立的。二是對(duì)于Web服務(wù)器的數(shù)量也不同。在小型拓?fù)浣Y(jié)構(gòu)中,Web服務(wù)器一般只有一臺(tái),甚至與應(yīng)用服務(wù)器部署在同一臺(tái)服務(wù)器上。而在中型拓?fù)浣Y(jié)構(gòu)中,Web服務(wù)器一般是獨(dú)立的。有時(shí)候?yàn)榱颂岣咝阅?,甚至可以使用兩臺(tái)Web服務(wù)器來實(shí)現(xiàn)負(fù)載均衡。在這個(gè)配置中,應(yīng)用程序服務(wù)器主要用來負(fù)責(zé)管理中心網(wǎng)站和服務(wù)器環(huán)境管理與維護(hù)工作。而前端Web服務(wù)器則處理搜索查詢和響應(yīng)客戶端的請求等工作。
在這個(gè)拓?fù)浣Y(jié)構(gòu)中,筆者認(rèn)為需要注意以下兩點(diǎn)內(nèi)容。
一是Web服務(wù)器數(shù)量的選擇。當(dāng)訪問的用戶數(shù)量比較多的時(shí)候,可能SharePoint的性能會(huì)下降。由于一個(gè)典型的SharePoint應(yīng)用有數(shù)據(jù)庫、應(yīng)用程序服務(wù)、WEB服務(wù)三部分構(gòu)成。此時(shí)管理員就需要分析,其性能的瓶頸出在哪個(gè)地方。根據(jù)以往的經(jīng)驗(yàn),在相同配置的情況下,一般都是Web服務(wù)器***出現(xiàn)問題。這主要是因?yàn)閃eb服務(wù)器用來處理查詢與響應(yīng)客戶端請求等相關(guān)的工作。相對(duì)其他服務(wù)器來說,這些工作量是比較大的。為此當(dāng)這個(gè)應(yīng)用性能下降時(shí),管理員應(yīng)該首先想到的是是否在Web服務(wù)器上存在著性能的瓶頸。這是一種經(jīng)驗(yàn)。在大部分情況下這個(gè)經(jīng)驗(yàn)都是有效的。
二是當(dāng)應(yīng)用的瓶頸出現(xiàn)在Web服務(wù)器上,此時(shí)該如何優(yōu)化呢?一般的優(yōu)化有三種。一是對(duì)應(yīng)用的優(yōu)化,二是對(duì)服務(wù)器配置的優(yōu)化,三是對(duì)Web服務(wù)器實(shí)現(xiàn)負(fù)載均衡。這三種優(yōu)化的方式并沒有先后的順序,而是需要根據(jù)不同的情形選擇不同的方式。如管理員分析后發(fā)現(xiàn)某個(gè)應(yīng)用設(shè)計(jì)的不合理,此時(shí)即使通過提高服務(wù)器的配置或者增加Web服務(wù)器的數(shù)量,最終能夠起到的效果也并不是很明顯。相反,相關(guān)應(yīng)用本身涉及的比較合理,當(dāng)用戶數(shù)量比較多時(shí),此時(shí)采用Web服務(wù)器負(fù)載均衡反而能夠取得比較好的效果。再如,如果跟蹤發(fā)現(xiàn),其性能的瓶頸主要在于磁盤的I/O沖突上,此時(shí)通過增加Web服務(wù)器的數(shù)量,就有點(diǎn)小題大做。在原有的Web服務(wù)器上實(shí)現(xiàn)一個(gè)磁盤陣列就可以解決問題。
通常來說,這種中型的拓?fù)浣Y(jié)構(gòu)可以滿足500人左右的應(yīng)用。如果對(duì)于性能有比較苛刻的要求或者用戶的并發(fā)訪問數(shù)量比較多的情況下,可以適當(dāng)?shù)脑黾右慌_(tái)Web服務(wù)器來提高應(yīng)用的性能。同時(shí)這個(gè)拓?fù)浣Y(jié)構(gòu)也給了我們一個(gè)提示。一般在優(yōu)化SharePoint應(yīng)用性能的時(shí)候,往往是從Web服務(wù)器那邊尋找突破口。這個(gè)服務(wù)器是整個(gè)鏈條中的一個(gè)關(guān)鍵點(diǎn)。
四、大型拓?fù)浣Y(jié)構(gòu)的應(yīng)用
在大型拓?fù)浣Y(jié)構(gòu)中,往往是有兩臺(tái)或者兩臺(tái)以上的服務(wù)器組成一個(gè)群集數(shù)據(jù)庫服務(wù)器、一臺(tái)應(yīng)用程序服務(wù)器(也可以視情況增加)和多臺(tái)前端Web服務(wù)器構(gòu)成。在這個(gè)配置中,所有的應(yīng)用程序服務(wù)器都配置為支持特定服務(wù)應(yīng)用程序或者服務(wù)應(yīng)用程序組件。而查詢等工作仍然是在Web服務(wù)器上。
如上圖所示,與中型拓?fù)浣Y(jié)構(gòu)相比,這個(gè)大型拓?fù)浣Y(jié)構(gòu)的主要變化是在數(shù)據(jù)庫服務(wù)器上。此時(shí)在數(shù)據(jù)庫服務(wù)器上也采用了多臺(tái)數(shù)據(jù)庫服務(wù)器,以實(shí)現(xiàn)負(fù)載均衡。在提高應(yīng)用性能的時(shí)候,同時(shí)提高應(yīng)用的穩(wěn)定性與冗余功能。不過在實(shí)現(xiàn)數(shù)據(jù)庫負(fù)載均衡的時(shí)候,筆者提一個(gè)小的建議。管理員可以根據(jù)需要將數(shù)據(jù)庫分為查詢數(shù)據(jù)庫和更改數(shù)據(jù)庫兩類。因?yàn)楦鶕?jù)以往的經(jīng)驗(yàn),在SharePoint中用戶大部分的操作都是查詢,而不是數(shù)據(jù)更新。此時(shí)如果有三臺(tái)數(shù)據(jù)庫組成一個(gè)群集服務(wù)器,那么可以將一臺(tái)數(shù)據(jù)庫設(shè)置為可更新,其他兩臺(tái)數(shù)據(jù)庫設(shè)置為可讀。當(dāng)用戶只是查詢操作,則其訪問的是可讀數(shù)據(jù)庫。相反要進(jìn)行更新操作時(shí),其訪問的是更新數(shù)據(jù)庫。當(dāng)然這對(duì)于用戶來說都是透明的。應(yīng)用系統(tǒng)會(huì)自動(dòng)根據(jù)用戶的操作判斷其該連接到那臺(tái)數(shù)據(jù)庫上。這么操作主要的目的是為了提高數(shù)據(jù)的安全性。同時(shí)查詢與更新分工合作,更能夠提高應(yīng)用的性能。