一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

【譯文】Web Farm和Web Garden的區(qū)別?

  在這篇博文中,我將確切剖析Web Farm和Web Garden的區(qū)別和原理,以及使用它們的利弊。進一步地,我將介紹如何在各個版本的IIS中創(chuàng)建Web Garden。

  英文原文 | Abhijit Jana | 2010年10月2日

 

概述

  ASP.NET開發(fā)服務器負責處理所有來自客戶端的請求和響應(開發(fā)階段)。完成開發(fā)后,為了讓他人可以訪問你的站點,你必須將站點部署到服務器上,這將涉及到Web服務器。Web服務器負責處理所有來自客戶端的請求,并給予響應。下圖展示了ASP.NET Web應用程序典型的單IIS部署架構。

  客戶端請求資源,IIS處理請求并響應。

Web Farm

  上述架構適用于只有一個Web服務器,且多個客戶端從同一服務器請求資源的場景。如果站點的流量劇增,單個獨立的服務器不足以處理客戶端的請求。為了分擔流量,您可能需要將應用程序部署到多臺服務器。這就是所謂的“Web Fram”。因此,當您將站點部署到通過負載均衡器(Load Balancer)關聯(lián)的多臺Web服務器,就構成了“Web Farm”。下圖展示了Web Farm的整體布局。

  在通常的Web Farm架構中,單個應用程序被部署到多個IIS服務器(由上圖可知,應是“Web服務器”),服務器通過負載均衡器以VIP(Virtual IP)的形式進行連接。負載均衡器再連接到外網(wǎng)。因此,來自客戶端的請求,首先經(jīng)過負載均衡器。負載均衡器根據(jù)當前每個服務器的流量將請求路由到相應的Web服務器。這些Web服務器可能共享相同的數(shù)據(jù)庫服務器(DB Server),也可能在后端使用重復服務器(Replicated Server)。

  總之一句話,當我們在多個Web服務器上部署同一Web應用程序來均衡負載就叫做“Web Farm”。

Web Garden

  在開始講解Web Garden之前,我希望您對應用程序池(Application Pool)和工作進程(Worker Process)的基本原理有所了解。如果您已經(jīng)讀過《How IIS Processes ASP.NET Request?》,我有理由相信您對上述概念不會陌生。

  在IIS中,工作進程(Worker Process)負責運行ASP.NET應用程序,所有ASP.NET功能都運作在工作進程的范圍之內(nèi)(作者的這種描述有點別扭)。工作進程負責處理所有的請求、響應、會話數(shù)據(jù)、存儲數(shù)據(jù)。應用程序池(Application Pool)是工作進程的容器。應用程序池用于隔離IIS工作進程,為Web應用程序提供高安全性、高可靠性和高可用性。

  默認情況下,每個應用程序池包含一個工作進程。包含多個工作進程的應用程序池(原文為Application,疑為作者筆誤)即被稱為“Web Garden”。下圖是一個典型的Web Garden應用程序。

  在上圖中,您可以看到其中一個應用程序池中包含多個工作線程,這就構成了Web Garden。

  因此,Web Farm是指將同一Web應用程序部署到多臺服務器,并基于服務器的負載進行訪問;而Web Garden是指單個應用程序池包含多個工作線程。

在IIS 6和IIS 7中創(chuàng)建Web Garden

  現(xiàn)在,我將向您展示如何在IIS 6和IIS 7中更改Web Garden的工作線程數(shù)。在IIS 6中,右鍵單擊“應用程序池” > “屬性” > 轉(zhuǎn)到“性能”選項卡。

  在“性能”選項卡部分,有一個“Web Garden”的選項,默認值為“1”,您可以將該值設置為您需要的數(shù)值。

  在IIS 7中,右鍵單擊“應用程序池” > 轉(zhuǎn)到“高級設置” > 找到“進程模型”,下面有個“最大工作進程”項。您可以修改默認值(默認為1)來創(chuàng)建Web Garden。

  在上圖中,您還可以看到Web Garden的定義。

  您還可以參考我早前關于當前主題的文章。>>

Web Farm和Web Garden的優(yōu)點

  現(xiàn)在,讓我們一起來看Web Farm和Web Garden的優(yōu)點。

Web Farm的優(yōu)點
  1. 它提供了高可用性(或者高容錯性)。如果Farm中的任一服務器宕掉,負載均衡器可以將請求重定向到其他服務器
  2. 提高了對客戶端請求的響應速度。
  3. 提高了Web應用程序的穩(wěn)定性,減少了應用程序的故障率。
  4. 可將會話和其他資源集中存儲,以便讓所有的服務器都能訪問。
Web Garden的優(yōu)點
  1. 通過工作進程間的請求共享,提高了應用程序的可用性(或者性能)。
  2. Web Garden通過處理器親和性(Processor Affinity)對應用程序進行分配(基于參數(shù)和標記)。
  3. 減少物理空間消耗。

Web Farm模式下會話管理

  默認情況下,會話模式被設置為InProc。該模式下會話數(shù)據(jù)存儲在工作進行中。但是,在Web Farm模式中,所有服務器可以共享同一個會話,我們可將會話模式設置為State Server或者SQL Server模式。這樣, 即使某些服務器宕掉,請求通過負載均衡器轉(zhuǎn)移到其他服務器,會話數(shù)據(jù)也可共享。

  在上圖中,您可看到兩個IIS服務器共享同一份存儲在工作進程外的會話數(shù)據(jù)。您可以參考我早先的一篇文章《Exploring Session in ASP.NET》,文章中我揭示了如何在外部進程模式中配置會話模式。

Web Garden模式下會話管理

  當我們使用Web Garden時,客戶端請求由不同的工作進程進行處理,所以會話模式必須是上面所說的外部進程會話模式。對于Web Garden,我們必須將會話放到同一服務器的不同工作進程中。

  譯者注:應用程序涉及Web Garden可能需要配置<processModel>配置節(jié),該配置節(jié)由ASPNET_isapi.dll讀取,托管代碼不讀取,這里不做詳細介紹。

總結(jié)

  Web Farm是指將同一Web應用程序部署到多臺服務器,并基于服務器的負載進行訪問;而Web Garden是指單個應用程序池包含多個工作線程。

  在這篇博文中,我闡述了Web Farm和Web Garden的基礎知識。本文囊括了Web Farm和Web Garden的基本信息和概念,至于Web Farm和Web Garden的配置細節(jié)我將在其他文章中進行闡述。更多信息請參考以下文章:

  1. Boosting performance using an IIS web garden
  2. How-To Configure Session State in a Windows Web Farm
  3. Role of Web gardens and web farms in ASP.NET

  希望此文對您有所幫助。

NET技術【譯文】Web Farm和Web Garden的區(qū)別?,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 激情五月婷婷久久 | 国产成人精品高清在线 | 欧美一区二区三区激情啪啪 | se就是色94欧美setu | 色久悠悠在线观看 | 91免费精品视频 | 国产91九色在线播放 | 色婷婷综合和线在线 | 国产福利视精品永久免费 | 国产美女久久久久 | 日本www色 | 丁香婷婷综合五月六月 | 国产精品自拍一区 | 一区二区精品在线观看 | 九色视频在线看 | 日本网络视频www色高清免费 | 青青热久麻豆精品视频在线观看 | 日本一区免费看 | 色偷偷91综合久久噜噜 | 久久综合狠狠色综合伊人 | 最近中文字幕无吗免费高清 | 九九成人免费视频 | 精品精品久久宅男的天堂 | 四虎影视在线永久免费看黄 | 黄网站观看 | 91aaa免费免费国产在线观看 | 精品国产污网站在线观看15 | 伊人色婷婷综在合线亚洲 | 麻豆一区二区三区四区 | 九九视频精品全部免费播放 | 成人在线观看网址 | 亚洲一区二区在线视频 | 国产系列欧美系列日韩系列在线 | 欧美日韩亚洲另类人人澡 | 337p欧美超大胆日本人术艺术 | 亚洲一区二区三区高清 | 国产一区二区网站 | 国产一区二区三区鲁婷婷 | 一级做受毛片免费大片 | 国产无套在线播放 | 日韩色视频一区二区三区亚洲 |