国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

轉貼:Microsoft Application Center 2000 組件負載平衡技術概述(1)

2024-07-21 02:17:21
字體:
來源:轉載
供稿:網友


收集最實用的網頁特效代碼!

microsoft application center 2000 組件負載平衡技術概述

作者:chris rees
本技術概述將討論 microsoft application center 2000 (application center) 組件負載平衡技術 (clb)。
引言
microsoft application center 2000 (application center) 是 enterprise server 的一部分,而 enterprise server 是 microsoft 公司推出的 .net 概念的組成部分。enterprise server 包括的其它成員有:commerce server 2000、biztalk server 2000 和 sql server 2000。有關 .net 的詳細信息,請查看站點: http://www.microsoft.com/net
.net 中 application center 的用途是,為基于 windows 2000 和 internet information services 5.0 的 web 站點提供內容部署和管理功能。application center 使 web 站點可伸縮、更強勁、易于管理而且更加安全。其核心思想就是由許多 web 服務器組成一個群集,對客戶來說,這個群集就是一個 web 站點。與此相配合的思想是,被復制到所有群集成員的單個應用程序映像。應用程序映像含有商務解決方案所需的所有部分, 包括 web 站點、注冊表設置、文件、com+ 組件等。通過反映群集當前狀態的事件、性能計數器和監視器,可以很容易地監視群集的運作狀況。
application center 群集
通過application center,可以構建多級群集,它們可以使用各種負載平衡技術。負載平衡技術有助于 application center 提供可伸縮性和穩定性。有兩種負載平衡技術受到支持:

  • 網絡負載平衡 (nlb)
  • 組件負載平衡 (clb)

application center 群集的拓撲結構決定了該如何支持負載平衡技術。一種典型的 application center 群集拓撲是以 n 層解決方案為基礎的,這種解決方案中包括一個 web 層群集,用來為客戶機提供內容服務。這種 web 層群集就使用了 iis 和網絡負載平衡 (nlb) 來滿足傳入的 ip 請求。
file:///f:/my%20work/技術文檔/服務器群設置/microsoft%20application%20center%202000%20組件負載平衡技術概述.files/clbovr01.gif
圖 1 application center 群集的典型拓撲結構
web 層群集上的軟件(asp 頁等)可以在本地計算機上創建和使用 com+ 組件,或者在另一臺遠程計算機上通過使用分布式 com 創建和使用 com+ 組件。如果沒有 clb,遠程活動將是靜止的,因為它與已經加在遠程服務器上的工作負載無關。這就是 clb 的真正用途 — 讓安裝在獨立服務器群集上的 com+ 組件進行可靠、可伸縮和負載平衡地操作。
網絡負載平衡
網絡負載平衡 (nlb) 是 ip 負載平衡技術,它是 windows 2000 advanced server 和 windows 2000 data center 的一部分。有了 nlb,傳入的 tcp 通信、用戶數據報協議 (udp) 通信和一般路由封裝 (gre) 通信請求被分發給各個群集成員。分發的依據是基于服務器負載百分比設置的統計算法。nlb 提供了動態伸縮功能,即在不影響客戶機的情況下,自動適應群集內服務器的添加和刪除。nlb 是魯棒的,因為它可以檢測到服務器故障,并將其從正運行的群集內悄悄地刪除。
application center 大大簡化了對基于 nlb 的群集的管理。application center 群集創建向導會自動配置 nlb 設置。這比單機使用 windows 2000 時所需的步驟要簡單得多。application center 還易于在群集內添加、刪除服務器,以及將服務器置于聯機/脫機狀態。
有關 nlb 的詳細信息,請查看站點:http://www.microsoft.com/windows2000/library/howitworks/cluster/nlb.asp
組件負載平衡
組件負載平衡技術可以使 com+ 組件實現負載平衡。com+ 組件是經過編譯的軟件對象,可用于多種不同語言,包括 vbs、asp、visual basic 和 c++。它們提供了一種很有用的方法,用來把軟件綁定到方便且可重用的實體中。在 clb 中,com+ 組件位于獨立的 com+ 群集內的服務器上。旨在激活 com+ 組件的調用被均衡地加載到 com+ 群集內的各個服務器上。如圖 1 所示,clb 軟件的決策元素運行在 web 層上。有些收集信息的 clb 軟件的確在 com+ 群集上運行。
組件對象模型
clb 的根部是組件體系結構,這一結構由組件對象模型 (com) 構成。當根據這一標準編寫基于對象的軟件時,該標準提供了一種使軟件服務可用的通用機制。它允許以各種語言、在各種操作系統中編寫軟件。實現這種靈活性的關鍵是 com 接口。
com 組件的功能通過一個或多個接口來實現。要想使用 com 組件,客戶軟件必須以一種知道如何處理接口的語言編寫。visual basic、asp、vbs、javascript 和 visual c++ 等語言都是可以的。接口本身只是一個由數字組成的表,其中保存著該接口所支持的方法的地址。
file:///f:/my%20work/技術文檔/服務器群設置/microsoft%20application%20center%202000%20組件負載平衡技術概述.files/clbovr02.gif
圖 2 com 組件上的接口
通常,com 組件位于動態鏈接庫 (dll) 或者可執行文件 (.exe) 內。它們可以安裝在客戶機上,也可以位于遠程計算機上。當它們被遠程使用時,由基于遠程過程調用 (rpc) 的分布式 com (dcom) 機制來完成調用。
com+ 服務
com+ 服務是 windows 2000 操作系統的一部分,提供了一套基于 com 和 microsoft transaction sever (mts) 的服務。com+ 服務提供了企業級功能,如事務支持、對象生存期服務、安全服務、事件、排隊組件等。
com+ 組件
com+ 組件是可以利用 com+ 服務的 com 組件。對 com+ 組件的要求之一是它要攜帶配置信息。配置信息是一組屬性,它們使得底層 com 體系結構能夠查明特定的 com+ 服務(例如事務支持,還有后面我們將要提到的負載平衡)是否被支持。
com+ 組件被集合組成稱為“應用程序”的軟件包,這里的應用程序不同于 application center 應用程序。com+ 應用程序是一組 com+ 組件,而 application center 應用程序則是商務解決方案中使用的一系列資源。這方面的例子有 web 站點、文件、com+ 組件,以及注冊表項。
組件負載平衡的工作方式
clb 有兩大部分:
  • 用于 com+ 群集負載平衡的 clb 軟件。
  • com+ 群集(一個由 application center 管理的服務器群集,用來激活和運行 com+ 組件。)

clb 軟件
clb 軟件負責確定激活 com+ 組件時使用 com+ 群集成員的順序。
用于創建 com+ 組件的業務邏輯運行在 web 層群集上。這通常是一個 visual basic asp 腳本,當要求使用 com+ 組件時,該腳本便調用 createobject。(在內部被轉換為對 cocreateinstance 的調用)。使用 clb 時,不是在本地服務器上創建組件,而是用路由列表和服務器響應時間表來幫助把 com+ 組件激活請求傳遞到已實現負載平衡的 com+ 群集。然后,com+ 群集成員創建組件并對客戶機返回一個接口。組件一經創建,clb 就不再對其進行更多的操作。

路由列表


路由列表存在于每個 web 層群集成員上,其中含有需要進行負載平衡的 com+ 群集成員列表,如圖 3 所示。另外,路由列表還存在于一個稱為 com+ 路由群集的位置。這個位置只用于路由,而沒有 web 層功能。本白皮書將重點介紹 web 層方案。
file:///f:/my%20work/技術文檔/服務器群設置/microsoft%20application%20center%202000%20組件負載平衡技術概述.files/clbovr03.gif
圖 3 路由列表和響應時間
路由列表最初由 web 層群集控制器上的管理員創建,然后自動與每個群集成員保持同步。這樣一來,就不可能(實際上也不可取)讓群集成員具有的路由列表中包含變化的 com+ 群集成員。在每個 web 層群集成員上都有路由列表的一大優點是,消除了單點故障。如果某個 web 層群集成員停止運行(無論是否故意),其它成員將繼續通過自己的路由列表對 com+ 群集進行負載平衡。

響應時間表


每隔 200 毫秒,運行在每個 web 層群集成員上的 clb 軟件就對自己路由列表中的每個成員進行輪詢。自此,就在內存中創建了一個表,其中以響應時間為等級列出了 com+ 群集成員 — 響應越快的成員在表中的地位就越高。web 層成員以循環的方式使用響應時間表,以此將接收到的激活請求傳遞到 com+ 群集成員。這意味著,當接收到激活請求時,響應最快、最不繁忙的 com+ 群集成員被首先使用,次快的成員被用來處理下一個請求。響應時間表用完之后,下一個請求將被發送到表中的第一條。就這樣依次處理后面的激活請求。這種情形將繼續下去,直到對響應時間作了更新為止,并且激活請求被重設到新負載平衡表的開頭。
每個 web 層群集成員都擁有自己的 com+ 群集成員響應時間表。不要試圖在整個 web 層群集內讓這些值保持同步,因為路由列表的復制速度跟不上 com+ 群集負載的變化。
com+ 群集
在 web 層群集內,管理員利用 application center 群集創建向導來創建 com+ 群集。每個群集成員都必須裝有相同的 com+ 組件副本。有一個部署向導可用來安裝組件。組件一經創建,就必須知道自己是在 clb 群集內。
支持群集的 com+ 組件
為了使用 clb,必須編寫 com+ 組件來確認它們所處的狀況。其關鍵問題是組件狀態。在 com+ 中,組件不應該保留每個組件的狀態信息,因為這樣會對可伸縮性和事務管理有負面影響。可伸縮性之所以會受影響,是因為如果組件是有狀態的,就無法被重新利用。事務管理之所以會更復雜,是因為每個組件的狀態無法穿過事務邊界。使用 clb 時還要考慮其它的因素。從本質上講,不必擔心成員節點的位置,因為在 clb 群集的任何成員上都可以創建組件。例如在 com+ 中,全過程存儲可以用來存儲對服務器上運行的多個組件都有用的信息。在 com+ 群集內使用這一技術時需要細心的管理,因為無法保證一個組件將在哪個成員上創建。這樣一來,后面對于組件的再激活將有可能發生在別的群集成員上。這就使得組件喪失了對前一個成員上的全過程存儲的訪問權。
組件狀態要么應保存為永久狀態(如 dbms),這樣可以從任何群集成員訪問它;要么應保存在客戶機上(如 cookie 信息就保存在 internet 客戶機上)。
建立組件負載平衡
以下是建立 com+ 群集所需的步驟。這些步驟基于 application center beta 2 中的功能。
  1. 建立群集
    clb 需要兩個群集。一個群集用于保存路由列表,如前所述,這個群集通常位于 web 層群集上。另一個群集是 com+ 群集。請參見聯機幫助中的“creating cluster”(創建群集)。
  2. 將 com+ 組件部署到 com+ 群集上。
    通過使用部署向導,可以將 application center 應用程序部署到其它群集上。對于用來將更新后的內容部署到運行群集上的過渡群集,這很有用。請參見圖 4。通常,要從一個 stager(過渡服務器)上運行向導,該 stager 擁有打包在 application center 應用程序中的 com+ 組件。請參見聯機幫助中的“synchronizing and deploying content”。
    file:///f:/my%20work/技術文檔/服務器群設置/microsoft%20application%20center%202000%20組件負載平衡技術概述.files/clbovr04.gif
    圖 4 application center 中的 stager
    注意 默認情況下,不部署 com+ 組件,因為組件部署要求重新啟動目標 iis 服務,還可能導致計算機重啟。然而,部署向導提供了一種選項,可以強制進行 com+ 組件部署。
    這樣,在組件部署期間避免整個群集宕機就很重要了。這需要進行分階段部署,讓群集成員脫機,更新,然后再聯機。有關這個問題的更多信息,請參見 microsoft application center 2000 resource kit
  3. 將 com+ 組件部署到 web 層群集上
    clb 要求將 com+ 組件安裝在每個 web 層群集成員上。同樣,可以使用部署向導來完成這件事。可以將 com+ 組件打包進已部署到 web 站點的 application center 應用程序中。但要記住,com+ 組件部署將要求重新啟動 iis 服務。所以,為確保 web 站點總是可用,分段組件部署就很重要。值得注意的另一點是,web 層群集組件部署需要與 com+ 群集保持同步。否則,當 web 站點處于活動狀態時,web 層群集和 com+ 群集可能裝有不同版本的組件。要了解更多的信息,請參見 microsoft application center 2000 resource kit
  4. 將 web 層 com+ 組件標記為支持 clb
    web 層群集上的 com+ 組件需要被標記為支持 clb。這要通過 application center 管理單元中已有的 component services explorer 來完成。標記組件的方法是在包含它的 com+ 應用程序中找到它,選擇屬性頁上的 activation 選項卡,然后選中 component supports dynamic load balancing 復選框。
  5. 創建路由列表
    路由列表是在 web 層群集控制器上創建的,并自動在整個 web 層群集上保持同步。可以通過 application center 中的 web 層群集屬性頁上的組件 services 選項卡來添加 com+ 群集成員列表。

這樣就可以了。一旦所有的東西安裝完畢,代表客戶端運行的 web 層軟件將使用 com+ 群集內的 com+ 組件,com+ 組件的位置不會對此操作有影響。
   
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗山县| 山东| 郴州市| 大足县| 高台县| 临朐县| 桂林市| 晋江市| 柞水县| 新兴县| 怀柔区| 南城县| 桦甸市| 兴城市| 永泰县| 长阳| 玉龙| 清远市| 苍山县| 吕梁市| 盐边县| 咸丰县| 永寿县| 孝感市| 浪卡子县| 临清市| 榆中县| 临汾市| 大安市| 浑源县| 莱西市| 锡林浩特市| 元朗区| 库尔勒市| 扶沟县| 太谷县| 张掖市| 东山县| 阿图什市| 桑日县| 会宁县|