使用Windows DNA 設計、部署和管理一個可伸縮的電子商務網站(1)--來自M$
來源:互聯網
上載者:User
window|電子商務|設計|伸縮 使用Windows DNA 設計、部署和管理一個可伸縮的電子商務網站
今天我們要學習的是關於伸縮性、可用性和可靠性的最好的一些練習。我們要討論Server Load Balancer和最佳化你的網站,怎樣使用Security Manager去保護你的網站,以及怎樣分析你的網站通訊量。所以我們今天要涉及到很多的內容。
我們的課程安排是從50,000米的高空對Windows DNA進行總覽。我們要討論伸縮性和可用性;怎樣最佳化一個電子商務網站;怎樣保護這個電子商務網站;以及最後,是怎樣分析電子商務網站的通訊量。我們也要在這個部分中討論UA Plus。
下一張投影片是Windows DNA展開模型。你會注意到我們有表達層、商務邏輯層以及資料層。我們在表達層中,有少量的使用者,他們是你的標準Internet使用者,以及大量的標準Visual Basic或其他程式語言客戶層級上的使用者。
注意我們要從大量的使用者來到少量的使用者,而這個動作實際上是由Windows DNA所推動的。在商務邏輯層中,我們放入了所有的商務問題。而我們在資料層中,我們有資料庫、Legacy系統,以及外部應用程式。
那麼為什麼我們從2層系統來到3層系統呢?是的,第一,2層系統的縮放性不好,主要是因為它的指令碼很大。並且它需要一個單獨的伺服器。它效能較低並且指令碼不適於放入大量的代碼。它沒有壓縮商務邏輯並且不容易被重新使用。
現在相反的讓我們來到3層模型,這裡是一個ASP商務應用程式。注意我們有3層,第一層是ASP和html頁面。這是我們在最新的一張投影片中的表達層。它包括,通常,你的UI(即使用者介面)、一些簡單的資料確認,伴隨著ASP及html代碼。
在第二層,即中介層或商務邏輯層,我們有商務目標層。這包括你的商業規則並且它通過各種資源鞏固你的資料。就是在這裡發生的。
在最後一層,是資料服務層,那就資料完整性規則。重要的是要知道那不僅是資料庫管理系統,而且兼有電子郵件系統和各種其他的外部系統的功能,這允許我們不被在2層系統中的各種限制條件所妨礙。
這裡是一個對於商業的應用工具,依舊使用ASP。我們現在有Internet Information Server,在我們的活動活動伺服器頁面層中,我們現在將顯示指令碼語言,VB script或Java script以及我們的活動伺服器頁面層,然後直接連接商業組件層,它是VB語言、CC Plus或Java。
然後是我們的最後一層-資料層,在這個例子中,我們使用sequel伺服器。隨之而來的問題是,為什麼我們要使用3層。我們已經討論過2層系統的局限性。3層系統是最終可縮放的。它可以縮放到各種伺服器,例如一個網路字型庫。我們可以將商業組件移動到一個中介層伺服器。我們也可以將資料層移動到一個資料服務器,這允許我們擴充地更大並最終允許我們以更完善的方式來保護我們的系統。
我們現在有可反覆使用的系統因為所有系統都是基於組件的,我們可以一遍又一遍地使用。它現在可以由ASP調用也可以由傳統客戶,例如VB、C++、Office以及應用程式的VB來調用。
然後最重要的因素是它是完全可擴充的,這意味著我們可以使用現成的組件。我們可以使用第三部分組件並且我們可以最終建立常規組件去使用在這個網站或任何其他我們要遇到的網站。
我們討論了很多關於延展性、高可用性的問題,但實際上我們中只有很少的人知道這兩個術語的含義。於是我們要定義它們,延展性是一個應用程式按照使用者要求的增長而在大小上進行增長的能力。高可用性是應用程式對於在損失一個組件的情況下繼續操作的能力。
關於這個問題的比較有意思的是大多數人記不住伸縮性既可以是垂直的,又可以是水平的,你可以向上伸縮或向後伸縮,取決於特定網站的負載。
我們在討論伸縮性和可用性的時候,我們實際上是討論關於這兩項的什麼問題?是的,在可用性方面,我們討論的是硬體問題、操作和服務問題,然後是資料和檔案管理問題。
在伸縮性中,我們最終討論的是關於垂直性問題、放大或縮小;水平性問題,縮放到一個伺服器地段;或者結構問題。也許我們將最終移動到一個更大的伺服器。
一些最好的習慣是在你考慮伸縮性和可用性時,從一開始就考慮到伸縮性和高可用性。當你開始設計你的網站時,記住從剛開始就考慮這樣你就不會遇到如此多的問題。
對開發人員隱藏你的實體環境。使應用程式可移植。這極大的提高了伸縮性/可用性以及最終提高了安全性。確信將安全性和這些其他的問題都交給了管理員,而不是開發人員,這樣當你處理伸縮性和可用性問題時,他們不會損害到你的安全性。並且在最後,利用你平台服務的優勢以使你可以使用建立在當前Win 2000系統的所有內容。
這個投影片顯示了一個對於標準電子商務網站的好的開端。你將注意到我們有兩個網路伺服器和一個成員伺服器。你不需要必須有兩個。我們只是用在這個投影片裡。所有的這些最後都儲存在同一台電腦中但對於這個例子,我們說這是一個好的開端。
我們有LDAP、身份認證、活動使用者目標、內容調度和所有在我們網路站台中的商務服務。相反我們現在要做的是用下一個,即成熟的應用程式。
現在,在我們的成熟應用程式中,我們將內容調度商務服務展開到一個網路地段中。這個網路地段允許我們按需要添加服務和伺服器,這讓我們不需要再憂慮改變程式的問題。我們現在為MTS部分中的活動使用者目標得到身份認證。我們也在主機綜合中的得到其他商業目標並且在我們的主機中,維持一個構架或一個Legacy系統。 我們要從籃或筐中得到sequel伺服器。我們從產品中得到sequel伺服器並由成員的一簇得到LDAP服務。
現在,關於它的有意思的事是如果你需要你可以最終添加進好的標準。你可以使用更多的LDAP或SNA服務的伺服器以在你所關心方面的效能擁有冗餘。你要在今後對效能方面進行注意。你也許要為了更深的理解而將這些目標打亂。這個設定允許你進行放大或甚至在你需要時,用一些重組而將其縮小。
於是,一些水平縮放的策略,實際上僅僅是重申我們以前所討論過的,即IIS,你也需要移動到一個網路地段。NTS將是在IIS伺服器中的一個網路地段。從你的網路地段和對於一些商業目標的Server Load Balancer中分離MTS。sequel組件將劃分你的資料庫並且為你的成員組件,劃分目錄並使用專職的LDAP服務。
高可用性策略將再一次使用IIS,一個網路地段。注意NTS將與上一個投影片中相同但結果將把伺服器使用的硬體、作業系統服務、並且最後、網路Server Load Balancer集合起來。對於資料和成員關係擁有一些隨時的備用,並將你的伺服器組合以及使用多重LDAP伺服器,這將使你擁有高的可用性。
當我們討論高可用性時,我們將最終以某個方式談到Server Load Balancer。Microsoft Network load balancing現在允許我們對我們的系統進行Server Load Balancer並許可我們所需要的可用性。
注意現在沒有關於價值的單獨的一點 。如果這些NOB主機失靈的話,我們將仍舊可以運行。沒有效能上的瓶頸而且在這一點中不需要附加的硬體。
它可以,然而,按照需求的增長而逐漸的增長。我們可以在一個特定地段中上升到32個視窗伺服器,並且最終,如果我們的兩個伺服器壞掉的話,我們能夠處理計劃的和未計劃的伺服器在不能使用時的透明度。對於它的伸縮性計劃需要在我們的初始設計中。我們需要確定我們在其中有商業目標並且你可能記住當你在進行效能測試時,你需要檢查你的垂直截面的原型,這意味著你需要從前端到早先的後端建立一個原型,在你的產品中儘快進行,這樣你就可以向前並使用像web application 強度測試載入器這樣的強調工具進行測試。
你一定要定義你所期望的用途方案,向前看強調系統並察看你所期望的模式、不同種類的典型使用者以及它們的用途模式。建立典型使用者所期望使用的指令碼。在你的資料級上遮蔽使用者這樣你就可以證明你的判斷是正確的。從第二位到交叉檢驗來進行分析。
你要確定,在向前進行的時候,你實際上將你的系統設定為接受的內容比你所最重要強調的內容要多。這樣當你著手去強調你的網站時,你要重新用web application 強度測試載入器去編排,這叫做Homer。你要設定斷點和行為。計劃你的伸縮路徑並記住計劃空出3到6個月的時間,這樣你可以設定任何未來的擴充。
確定效能測試是在小組裡的分配任務,而不僅僅是某人在有機會的情況下隨便看一下。你如果能遵從以上這些要點你就不會遇到如此多的問題。
現在我們來到第一個示範,這是告訴我們怎樣使用web application 強度測試載入器來為伸縮性、可用性和可靠性測試你的網站。好的,現在我們將移動到示範機器。在我們的第一個示範中,我們將學會怎樣使用
我們將第一次開啟WAS,在開始菜單中、程式、Microsoft web application 強度測試載入器。然後現在,我們在這裡關閉建立新指令碼的對話方塊。我們現在要做的第一件事情是在安裝WAL工具時必須移動建立好的sample檔案夾。
當你安裝web application 強度測試載入器時,你必須將其從一個檔案夾中移出來,這個檔案夾就是web application 強度測試載入器被安裝入的檔案夾,在WWw根目錄中。我們瀏覽並拷貝然後移回到我的InetPub/wwwroot目錄,然後粘貼到虛擬根目錄中。關閉視窗,現在我們回到web application 強度測試載入器中。
我們現在看一下對於WAS工具的使用者介面,我們可以看一下系統。在左邊,你會注意到我們有一個預設的節點和一個樣本的指令碼節點,這將顯示我們當前已經安裝入WAS資料庫中的所有指令碼。這些是我們在以前建立的並將在以後用的指令碼。我們今天為示範所用的是樣本指令碼。我們將重新建立樣本指令碼中的一些情形。
這些是指令碼,再說一遍,在你安裝WAS工具的時候儘快地安裝。為樣本指令碼開啟這個節點你可以看見下面的第二注釋。當你點擊樣本指令碼,你將注意到它在右邊開啟了細節部分,這為我們顯示了在樣本指令碼自身中的特定的編排,由web application 強度測試載入器使用的特定的特徵。
這裡的每一個指令碼強調網站的一個特徵,cookie特徵、瀏覽器特徵、ab測試、標識符特徵,所有的這些被這個系統所強調。但是在我們開始以前,我們將為這個樣本指令碼做一個拷貝以使我們不會弄亂原始指令碼。然後我們將重新命名測試指令碼。那樣,我們就不會更改這些原始指令碼。我建議向前作為一個實踐,這樣你總可以至少重新回到樣本。大多數的樣本指令碼是可使用的基礎。
接著,我們將繼續向前,我們可以按需要變更,這裡的伺服器名稱是,在這種情況下我們進行強調時,我們將使用一個地區主機因為web application 強度測試載入器現在位於相同的一個系統中。