当前位置: 首页 > news >正文

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

  《Windows Azure Platform 系列文章目录》

 

  本文是对笔者之前的文章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。如下图:

    

  (2)优势:

    不需要修改任何代码

  (3)劣势

    需要创建额外的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)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。

相关文章:

  • 树莓派练习程序(声音检测)
  • .NET 4.0中的泛型协变和反变
  • flex 属性绑定
  • 常用方法
  • asp.net页面间传值的9种方式
  • 用操作符函数格式化(c++)
  • HDU4626+博弈
  • Android游戏快速入门(一):基础储备
  • 应用开发框架之——插件、包
  • SQL SERVER中强制类型转换cast和convert的区别
  • ASP.NET MVC中检测浏览器版本并提示下载更新
  • firdac支持的序列和还原格式
  • Online, Cheap -- and Elite
  • python datetime笔记
  • exceptions.IOError: decoder jpeg not available
  • [笔记] php常见简单功能及函数
  • eclipse的离线汉化
  • JavaScript函数式编程(一)
  • leetcode98. Validate Binary Search Tree
  • LeetCode算法系列_0891_子序列宽度之和
  • React 快速上手 - 07 前端路由 react-router
  • React+TypeScript入门
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • ucore操作系统实验笔记 - 重新理解中断
  • XForms - 更强大的Form
  • 浮动相关
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 实现菜单下拉伸展折叠效果demo
  • 使用权重正则化较少模型过拟合
  • 字符串匹配基础上
  • Java总结 - String - 这篇请使劲喷我
  • #include到底该写在哪
  • #NOIP 2014#Day.2 T3 解方程
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (五)网络优化与超参数选择--九五小庞
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转载)(官方)UE4--图像编程----着色器开发
  • (转载)虚函数剖析
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net Stream篇(六)
  • .net 反编译_.net反编译的相关问题
  • .NetCore项目nginx发布
  • .NET关于 跳过SSL中遇到的问题
  • .NET企业级应用架构设计系列之技术选型
  • /etc/sudoers (root权限管理)
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • ::
  • @AliasFor注解