2017-03-27 103 views
0

作爲部署新網站時的默認設置,啓用AAR Affinity以允許客戶端一遍又一遍地訪問同一個Web服務器實例。我想知道爲什麼這是默認啓用,如果我需要這個功能。據我所知,會話存儲和類似的,在Azure上不可用。如果您想要這種行爲,Microsoft建議使用Redis作爲共享存儲。我的問題是,使用AAR Affinity有什麼好處以及不禁用它的任何原因?沒有它的情況下運行,也會使負載均衡分佈更均勻。爲什麼我不能禁用Azure網站上的AAR Affinity

回答

0

據我瞭解,會話存儲和類似的,不可在Azure上

在內存中的會話存儲在ASP.NET運行只是代碼,可Azure的網站/網頁上應用。如果你依賴於這個功能,那麼你需要啓用該選項,否則,如果你點擊不同的服務器,你會有不同的會話。另外,如果您使用某種形式的內存緩存,那麼您希望同一用戶返回到同一臺服務器以改善緩存命中率。

+0

但我猜你不能保證擊中了以下要求(即使AAR親和力)相同的Web服務器實例。而且Azure上不支持會話傳輸,因此無法真正瞭解如何在沒有Redis或其他形式的外部緩存的情況下使用會話存儲。 – ThomasArdal

+0

AAR親和力會在您的計算機上設置一個cookie,以確保您在後續請求(這是它的主要目的)上點擊同一臺服務器。如果該服務器不存在,唯一的原因是您不能訪問同一臺服務器。它不可靠或不推薦,但它仍然有效。 –

+0

但是您不確定該服務器在下列請求中仍然存在。這是我的要求。如果你不能依賴於可用的同一臺服務器,並且實例之間沒有會話傳輸,我認爲沒有任何啓用AAR Affinity的要點。 – ThomasArdal

0

使用ARR Affinity和任何不禁用它的原因有什麼好處?

在PaaS世界中,PaaS VM實例因各種原因可以重新啓動,因此將會話信息存儲在內存中並不是一個好主意。然而,ARR Affinity是一種支持(有一些限制)那些被設計爲會話敏感(又名有狀態)應用程序的應用程序。

你是對的:

運行沒有它,就會使負載均衡分佈比較均勻爲好。

HTH :)

相關問題