Microsoft Azure 的负载平衡器是一种 Layer-4负载平衡器。Microsoft Azure 负载平衡器通过针对给定输入端点上接收到的流量计算哈希函数,在一组可用的服务器(虚拟机)之间分配负载。计算哈希函数是为了使来自同一连接(TCP 或 UDP)的所有数据包最终位于同一台服务器上。Microsoft Azure 负载平衡器采用 5个信息(源 IP、源端口、目标 IP、目标端口、协议类型)计算用于将流量映射到可用服务器的哈希函数。我们选择的哈希函数使到服务器的连接的分布非常随机。但是,根据流量模式,不同的连接可能映射到同一台服务器。(请注意,到服务器的连接的分布不是轮询的,也不像其他文章或博客中误称的那样具有请求队列)。哈希函数的基本前提是获得了大量来自不同客户端的请求,这样请求就可以跨服务器完美分配。

Azure负载均衡目前支持三种分发模式:1、五元组;2、三元组;3、二元组。在portal上设置的负载均衡默认是采用五元组(源 IP、源端口、目标 IP、目标端口、协议类型)来计算哈希值。如果采用二元组(源IP、目的IP)的分发模式,来自同一个客户端的连接,将会分发到均衡集中的同一台server上。但是请注意,这样会导致请求不能平均分发的情况,因为位于同一个NAT设备后不同的客户端请求将被当做同一个负载进行分配。三元组是采用source IP, Destination IP, protocol来计算哈希值。它比二元组增加了一个协议的区分。

关于修改负载均衡的分发模式,请您参见如下:

查看虚拟机终结点信息,get-azurevm -ServiceName fuzl -Name fuzlc66 |Get-AzureEndpoint

将分发方式设置为SourceIPProtocol:

Set-AzureLoadBalancedEndpoint -ServiceName "fuzl" -LBSetName "tomcatLB" -Protocol tcp -LocalPort 8080 -ProbeProtocolTCP -ProbePort 8080 –LoadBalancerDistribution "sourceIPProtocol"

命令: Set-AzureLoadBalancedEndpoint -ServiceName "xxxx" -LBSetName "xxxx" -Protocol tcp -LocalPort xx -ProbeProtocolTCP -ProbePort xx –LoadBalancerDistribution "sourceIP"

参考:

https://azure.microsoft.com/en-us/blog/azure-load-balancer-new-distribution-mode/

https://azure.microsoft.com/en-us/blog/azure-load-balancer-new-distribution-mode/?cdn=disable

Microsoft Azure 的负载平衡器的Session Sticky的更多相关文章

  1. Microsoft Azure 配置负载均衡

    负载均衡大家都知道是什么了吧,就不用介绍了.如何在 microsoft Azure 上配置了?创建两台虚拟机,并加入如云服务.然后在远处登录上去,有时你想在两台虚拟机上通信,怎么办,比如mymv2 p ...

  2. 新功能:Azure 负载平衡器的空闲超时现可配置了

    Yves Pitsch Azure 网络首席项目经理 我们很高兴地宣布,Azure负载平衡器现在可以为云服务和虚拟机提供可配置的 TCP空闲超时支持.要配置此功能,可以使用服务管理 API.Power ...

  3. Azure 负载平衡器新分发模式

    Yves Pitsch Azure 网络首席项目经理 Azure负载平衡器是一种第四层(TCP.UDP)类型的负载平衡器,它可以将传入流量分发到云服务中正常运行的服务实例上,或者分发到负载平衡器集内所 ...

  4. Microsoft Azure 负载平衡服务

     Microsoft Azure 为在其中托管的虚拟机(IaaS) 和云服务(PaaS) 提供负载平衡服务.负载平衡支持应用程序伸缩,并且提供应用程序故障恢复以及其他优势. 可以通过以下方式访问负 ...

  5. 通过Microsoft Azure服务设计网络架构的经验分享(转)

    原文:http://www.infoq.com/cn/articles/azure-networking-tips 本文从产品设计和架构角度分享了 Microsoft Azure 网络服务方面的使用经 ...

  6. 通过Microsoft Azure服务设计网络架构的经验分享

    作者 王枫  发布于 2014年4月8日 本文从产品设计和架构角度分享了Microsoft Azure网络服务方面的使用经验,希望你在阅读本文之后能够了解这些服务之间,从而更好地设计你的架构. Mic ...

  7. Session Sticky About Nginx

    Nginx以前对session 保持支持不太好,主要采用ip_hash把同一来源的客户(同一C段的IP)固定指向后端的同一台机器,ip_hash有个缺点是不能实现很好的负载均衡:直到nginx的扩展模 ...

  8. 基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统   2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...

  9. 微软推出首个Microsoft Azure Stack技术预览版

    Mike Neil,微软公司企业云副总裁 怀着对于提高业务灵活性.加速创新的期待,很多企业正在向云平台迅速迁移.伴随着这样的趋势,我们也见证了微软智能云Azure业务在全球市场的快速增长--每个月近1 ...

随机推荐

  1. form上传文件以及跨域异步上传

    要设置了enctype属性才能上传,需要使用上传的jar包,这里使用的是cos-26Dec2008.jar, 而且后台获取值的时候,getfile要放在第一位 一次设置好上传格式后没有上传文件,也就没 ...

  2. mysql插入日期 vs oracle插入日期

    今天做oracle日期插入的时候突然开始疑惑日期是如何插入的. 用框架久了,反而不自己做简单的工作了.比如插入. 通常,新建一个表对象,然后绑定数据,前端form提交,后端getModel后直接mod ...

  3. Ionic2学习笔记(0):HelloWorld

    作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5529153.html 操作系统: Windows 10 环境配置: Node.js Java SE D ...

  4. CentOS7上让Jexus开机自启动

    昨天刚用了一下CentOS7,很自然的就安装了mono和Jexus,用的都是目前最新版mono4.2.2.10和jexus5.8.0 mono和jexus的具体安装方法,园子里已经有了很多教程,这里就 ...

  5. [水煮 ASP.NET Web API2 方法论](3-6)万能路由

    问题 定义什么样的路由,可以不会受请求参数类型和数量的限制,而被全部捕获? 解决方案 在路由模板中,给参数添加一个"*"前缀,例如 {*param},只要请求的 URL 能够和路由 ...

  6. css3飞机起飞进度条

    效果:http://hovertree.com/texiao/css3/27/ 源码下载:http://hovertree.com/h/bjaf/pgwql1x2.htm 本效果使用Font Awes ...

  7. ScrollView与ListView冲突解决

    正 常来说,在ScrollView添加一个ListView后在真机上只会显示ListView的一行多一点,我也不理解为什么会这样,后来我把 ListView的layout_height改成400dip ...

  8. Repository 设计模式介绍

    在DDD设计中大家都会使用Repository pattern来获取domain model所需要的数据. 1.什么是Repository? "A Repository mediates b ...

  9. DevExpress winform XtraEditor常用控件

    最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...

  10. MyEclipse10启动Tomcat8出错

    问题一: java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap : (Unsupported ma ...