Windows Azure的负载均衡器默认是5元组的hash:源地址,源端口,目的地址,目的端口,协议。即:只有上述五个元组完全一致的会话数据包才会被转发到同一个后端服务器。显然,对于绝大多数通过NAT上网的用户来说,5元组基本上就不具备会话保持功能了。IPv4越来越少,IPv6还在飘着。

从应用角度来看,特别是一些早期的web应用,不具备集中管理状态的功能,Session都是保存在web服务器内存中的。为了迁移到Windows Azure而去修改代码,用户总是会感觉不爽的,虽然我们有千万个理由说服客户这样做是多么多么的有意义。

Windows Azure的负载均衡器已经支持2元组hash和3元组hash模式的负载均,说白了就是从原来的5元组中去掉了源端口和目标端口。这样,即便是通过NAT上网,会话数据包中的源地址、目标地址和协议也是不会发生变化的。只不过2、3元组hash模式的负载均衡器目前还只能通过PowerShell来创建和使用。

对于一个已经存在负载均衡器,可以通过以下PowerShell脚本将其设置为2元组hash模式,从而实现基于四层负载均衡的会话保持:

Set-AzureLoadBalancedEndpoint -LoadBalancerDistribution "sourceIP" -ServiceName [云服务名称] -LBSetName [负载均衡集名称]

如果要设置为3元组hash模式,则将上述脚本中的[sourceIP]改为[sourceIPProtocol]即可。

Windows Azure 负载均衡会话保持的更多相关文章

  1. Linux架构之Nginx 负载均衡会话保持

    案例No.50:Nginx负载均衡会话保持 前期准备环境 web01.web02 (web01.web02.db01.nfs01都要优化基本源)[root@web01 ~]# vim /etc/yum ...

  2. 0x06 - Nginx 负载均衡会话保持

    Nginx 负载均衡会话保持 背景 负载均衡时,如果APP需要保持特定状态的时候,就要保证同一用户的 session 会被分配到同一台服务器上. 实现方案 使用cookie 将用户的 session ...

  3. 了解负载均衡 会话保持 session同步(转)

    一,什么负载均衡 一个新网站是不要做负载均衡的,因为访问量不大,流量也不大,所以没有必要搞这些东西.但是随着网站访问量和流量的快速增长,单台服务器受自身硬件条件的限制,很难承受这么大的访问量.在这种情 ...

  4. windows第四层负载均衡--基于NLB负载均衡

    上面有一篇文章说windows第七层负载均衡,这次讲讲第四层负载均衡 TCP/IP协议族,第七层是应用层,第四层是传输层.第四层负载均衡主要通过IP进行转化. 一些优秀的第四层负载均衡软件,速度可以接 ...

  5. 负载均衡-会话保持,session同步(转载)

    一,什么负载均衡一个新网站是不要做负载均衡的,因为访问量不大,流量也不大,所以没有必要搞这些东西.但是随着网站访问量和流量的快速增长,单台服务器受自身硬件条件的限制,很难承受这么大的访问量.在这种情况 ...

  6. Azure 负载均衡和可用性集

    首先要2台以上的虚拟机,一开始我找了好久都没找到如何在一个云服务里添加多个虚拟机. 因为我使用的是快速创建,快速创建的界面是要新建一个云服务的,如果你输入现有的云服务名字,它会提示你重名了. 你要用[ ...

  7. nginx for windows之负载均衡

    1.编辑c:\nginx\conf\nginx.conf   添加以下内容: #user  nobody;   #启动进程worker_processes  1;   #全局错误日志及PID文件err ...

  8. windows 2008 负载均衡(NLB) 问题汇总

    1. 主机不可访问 修改host文件. 将主机名与IP做相应的映射. 它们应该是使用主机名来访问对应的服务器. host文件路径: C:\Windows\System32\drivers\etc 19 ...

  9. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

随机推荐

  1. sql with 递归 查询特定区间日期

    declare @startDay smalldatetime ='2013-01-01'  ;with cte as(     select @startDay as d    union all  ...

  2. 使用coding、daocloud和docker打造markdown纯静态博客

    说起独立博客的技术演变,从数据库到纯文本放git是一大进步,从HTML到markdown又是一大进步. 解析技术有没有进步呢?既然markdown是纯文本了,再用PHP/Python/Ruby去实时解 ...

  3. angular学习的一些小笔记(中)之ng-init

    ng-init是给angular执行给定的表达式,初始化变量的值 <!DOCTYPE html> <html> <head> <meta charset='U ...

  4. 【再探backbone 01】模型-Model

    前言 点保存时候不注意发出来了,有需要的朋友将就看吧,还在更新...... 几个月前学习了一下backbone,这段时间也用了下,感觉之前对backbone的学习很是基础,前几天有个园友问我如何将路由 ...

  5. 【zepto学习笔记03】事件机制

    前言 我们今天直接进入事件相关的学习,因为近期可能会改到里面的代码就zepto来说,我认为最重要的就是选择器与事件相关了,随着浏览器升级,选择器简单了,而事件相关仍然是核心,今天我们就来学习学习 ze ...

  6. SharePoint 2010升级到sharePoint 2013后,人员失去对网站的权限的原因及解决方法。The reason and solution for permission lost after the upgrading

    昨天碰到了一个问题,一个网站在从SharePoint 2010升级到SharePoint 2013后,人员都不能登录了,必须重加赋权,人员才能登录,这样非常麻烦. 原因:是认证方式的问题.在Share ...

  7. 使用 SQL的 for xml path来进行字符串拼接 (group by)

    参考: http://www.cnblogs.com/repository/archive/2011/01/18/1938418.html select convert(varchar(10),c.[ ...

  8. Xcode常用快捷键

    1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD+OPt+S:保存所有文件CMD + SHIFT + S: 另存为CMD + ...

  9. Android开发实战(二十一):浅谈android:clipChildren属性

    实现功能: 1.APP主界面底部模块栏 2.ViewPager一屏多个界面显示 3......... 首先需要了解一下这个属性的意思 ,即 是否允许子View超出父View的返回,有两个值true . ...

  10. Java中的static的使用

    Java中的static使用之静态变量 神话丿小王子的博客主页 1.Java 中被static修饰的成员称为静态成员或类成员.它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享.且优先于对象 ...