《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 (2) 建立和使用Azure Redis Cache
本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的做品(内容)均为本博原创,本站对于原创做品内容对其保留版权,请勿随意转载,如若真有须要的朋友能够发Mail联系我;转载本博原创做品(内容)也必须遵循“署名-非商业用途-保持一致”的创做共用协议,请务必以文字连接的形式标明或保留文章原始出处和博客做者(Lei Zhang)的信息,关于本博摄影做品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,不然视为侵犯原创版权行为;本博谢绝商业网站转载。版权全部,禁止一切有违中华人民共和国著做权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。