2013-03-18 60 views
2

何時Windows Azure Emulator部署多實例WebRole,模擬器運行WebRole的多個IIS Express實例,每個人在保留本地IP,如:負載平衡的Windows Azure實例本地

127.255.0.1 
127.255.0.2 
127.255.0.3 

問題是我想訪問WebRole,就好像它真的部署在Azure上,我需要檢查實例之間是否存在Session State

由於我的Session Id存儲在cookie中,每當我連接到不同的實例時,我需要手動將cookie注入請求以檢查會話數據(因爲瀏覽器認爲下一個實例的IP作爲不同的領域)。

有沒有一種方法可以使用hostname(在Windows 7計算機上),它將隨機指向其中一個IP?

回答

1

那麼,顯然模擬器確實負載均衡實例之間的所有要求:雲上的項目

單擊「調試」將打開一個網頁的IP是虛擬負載均衡器(通常是127.0.0.1 :80,如果沒有采取)。

然而,有兩件事情是誤導我擺在首位:

  • multliple IIS Express實例每個都有它自己的綁定列表(圖片附後)。

enter image description here

  • 2.隱親和力:

    我做了我的web應用程序輸出的實例ID和一直得到 同一實例-ID的所有時間。原因是(我猜) 模擬器執行的親和力(可能使用cookie 比較)。

結論:

如果你想手動負載平衡或自己控制的關聯性,可以利用IIS Server Farming能力(像我一樣最終)來模擬負載平衡。 (Apache/Nginx作爲某種'反向代理'也是一個不錯的選擇,但我更願意堅持使用已經安裝和使用的產品)。