iis 怎樣部署 實現負載均衡
關于ASP.NET中的負載均衡
ASP NET站點中做負載均衡
基于HTTP協議我們可能發現我們要解決兩點問題
第一 做到負載均衡 我們需要一個負載均衡器
可以通過DNS輪詢來做 在DNS服務器上配置為每次對我們做負載均衡的同一主機名的DNS查詢得到不同的IP地址 這樣的好處是配置簡單投入較小 缺點是瀏覽器訪問各個服務器的機會是均等的 不能根據服務器的負載程度自動把請求路由到負載較小的服務器
可以通過專用的負載均衡設備 通過監測后臺數臺服務器的負載情況 自動把HTTP請求轉發到負載較輕的服務器 另外必須監測后臺服務器的IIS負載情況 而不是整臺服務器的CPU負載 同時可能需要在負載均衡器和后臺服務應用之間建立心跳連接 以避免出現某臺服務器IIS進程或者其中跑的應用已經down掉 負載均衡器反而監測到這臺服務器的負載最小而把大量請求轉發的這臺服務器 達到相反的效果
第二 Session狀態的保持和遷移
由于HTTP協議的無狀態性 我們一般是在Session中保存客戶端的一些狀態數據 負載均衡之后 前后兩次HTTP請求所到達的服務器可能不是同一臺 這就造成可能出現這樣的情況 前一此請求處理中設置的ssion在第二次請求中變得不可用了 造成應用程序出錯 所以我們要把ssion跟隨遷移 實現的方法就是ssion的統一存儲和服務器間共享
在ASP NET中服務器保存ssion有五種方式 Off不說了 InProc是保存在服務器進程的內存中 顯然不能滿足要求 另外兩種能夠滿足
StateServer是把ssion保存在專門的狀態服務器中 這樣各臺服務器都存取同一個StateServer 達到共享的目的
SQLServer是把ssion保存在數據庫中 同樣能達到目的
Custom自定制的存儲方案 我們自己寫當然能夠實現
比較一下 Custom這種自己實現比較麻煩一般不用 SQLServer可以利用數據庫的cluster達到高性能和高可用性的目的 StateServer當然也可以通過手段達到高可用性 不過似乎不能實現集群所以性能也有所限制
另外如果要做負載均衡在StateServer和SQLServer中配置ssion時 必須在nfig中重寫machineKey節點
<machineKey
validationKey= AAAAAAAAAA
decryptionKey=
validation= SHA
decryption= Auto
/>
否則各個應用服務器拿到的ssion還是不一樣的
lishixinzhi/Article/program/net/201311/12775
網絡負載均衡的驗證方法
網絡負載均衡配置好后,為了實現某項具體的服務,需要在網絡負載均衡的計算機上安裝相應的服務。例如,為了實現IIS網站的負載均衡,需要在相應的網絡負載均衡服務器上安裝IIS服務。為了讓每個用戶在通過網絡負載均衡訪問到不同的計算機時,能夠訪問到一致的數據,需要在網絡負載均衡的每臺計算機上保持數據的一致性。舉例來說,實現了兩個節點的IIS的網絡負載均衡,為了保證兩個網站內容的一致性,除了這兩個IIS服務器的配置相同外,相應的網站數據必須一致。
為了檢驗網絡負載均衡,我們可以通過IIS來進行驗證,其他的一些應用如終端服務、Windows Media服務與IIS的應用與之相類似。在其他計算機上的IE瀏覽器中鍵入192.168.0.9,根據網絡的負載,網絡負載均衡會自動轉發到A機或B機。為了驗證效果,你可以在瀏覽的時候,拔掉第一臺計算機的網線或拔掉第二臺機器的網線,將會發現瀏覽到的將是不同內容。當然,我們在測試的時候,為了驗證網絡負載均衡的效果,把兩個網站設置成不一致的內容,而在正式應用的時候,網絡負載均衡群集的每個節點計算機的內容將是一致的,這樣不管使用哪一個節點響應,都能保證訪問的內容是一致的。
iis 負載均衡 如何保存ssion狀態
多臺服務器如何做網絡負載均衡?
1:找分區或目錄同步軟件,某臺服務器改動了自動把修改應用到別的服務器,比如紅旗的HA。
2:換種建服務器的思路,后臺用一臺獨立的服務器做數據庫和文件服務器,用來存放數據庫和上傳的文件,另外的做負載均衡運行服務器,把不需要變動的網頁程序放上面。
本文發布于:2023-02-28 19:24:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167761378859491.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:iis負載均衡(iis負載均衡高可用方案).doc
本文 PDF 下載地址:iis負載均衡(iis負載均衡高可用方案).pdf
| 留言與評論(共有 0 條評論) |