Windows Azure HandBook (4) 分析Windows Azure如何處理Session

  《Windows Azure Platform 系列文章目錄html

 

  本文是對筆者以前的文章Windows Azure Cloud Service (13) 多個VM Instance場景下如何處理ASP.NET Session的補充。數據庫

  這裏筆者將同時介紹IaaS和PaaS平臺。緩存

  

  咱們知道,在Windows Azure平臺,Session是須要當心處理的。對於IaaS平臺和PaaS平臺,咱們處理Session的方法以下:服務器

  

  一.建立額外的虛擬機,安裝Nginx或者IIS ARR保留Session負載均衡

  (1)處理方式:運維

    建立額外的虛擬機,使用Nginx或者IIS ARR保留Session。以下圖:post

    

  (2)優點:網站

    不須要修改任何代碼url

  (3)劣勢spa

    須要建立額外的Azure Virtual Machine,會增長額外的成本

  (4)相關技術文檔:

    略。

 

 

  二.將Session保存到數據庫裏

  (1)處理方式:

    經過將Session保存到數據庫裏,能夠保證Session不會丟失。

  (2)優點:

    同時適合本地託管(on-premise)和雲端部署(on cloud)

  (3)劣勢:

    須要修改代碼

  (4)相關技術文檔

    略

 

  三.PaaS平臺,將Session保存到In-Role Cache

  (1)處理方式:

    將Session保存到In-Role Cache中,保證Session的持久化

   (2)優點:  

    可使用Shared Cache或者Dedicated Cache

   (3)劣勢:

    只適合於PaaS平臺

    須要修改代碼

    若是要使用Dedicated Cache,會增長額外的成本

  (4)相關技術文檔:

        Windows Azure Cloud Service (42) 使用Azure In-Role Cache緩存(1)Co-located Role

           Windows Azure Cloud Service (43) 使用Azure In-Role Cache緩存(2)Dedicated Role

 

 

  四.修改Azure Load Balancer(負載均衡器)規則

  (1)處理方式:

  默認的Azure Load Balancer規則爲五要素:source IP, source port, destination IP, destination port, protocol type。

  咱們能夠將規則進行修改,改成2要素(Source IP,Destination IP)或3要素(Source IP, Destination IP, Protocol)。這樣由同一個客戶端發起的請求,會指向同一個Azure目標服務器。經過這種方式,就能夠保留Session。以下圖所示:

  

  (2)優點:

    不須要修改任何代碼

  (3)劣勢:

    若是Azure面對的客戶只是企業級客戶,企業級客戶使用NAT設備訪問Internet的話,由於多個客戶端使用相同的Source IP地址,會形成單臺服務器壓力過大的狀況。

  (4) 相關技術文檔

    Azure PowerShell (8) 使用PowerShell設置Azure負載均衡器規則

 

 

  五.將Session保存到Redis Cache中

  該功能已經在國外的Azure提供,國內由世紀互聯運維的Azure還未提供相關的功能,筆者會在隨後的博文中作詳細介紹。

  Update:2015-11-19,Azure China的Azure Redis Cache功能如今是公共預覽(Public Preview)。

  Azure Redis Cache (1) 入門

  Azure Redis Cache (2) 建立和使用Azure Redis Cache

 

 

  本博-三石Blog(下文簡稱本博),在本博客文章結尾處右下腳未註明轉載、來源、出處的做品(內容)均爲本博原創,本站對於原創做品內容對其保留版權,請勿隨意轉載,如若真有須要的朋友能夠發Mail聯繫我;轉載本博原創做品(內容)也必須遵循「署名-非商業用途-保持一致」的創做共用協議,請務必以文字連接的形式標明或保留文章原始出處和博客做者(Lei Zhang)的信息,關於本博攝影做品請務必注意保留(www.cnblog.com/threestone)等相關水印版權信息,不然視爲侵犯原創版權行爲;本博謝絕商業網站轉載。版權全部,禁止一切有違中華人民共和國著做權保護法及相關法律和本博(法律)聲明的非法及惡意抄襲。

相關文章
相關標籤/搜索