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. 赞!15个来自 CodePen 的酷炫 CSS 动画效果

    CodePen 是一个在线的前端代码编辑和展示网站,能够编写代码并即时预览效果.你在上面可以在线分享自己的 Web 作品,也可以欣赏到世界各地的优秀开发者在网页中实现的各种令人惊奇的效果. 今天这篇文 ...

  2. Azure ARM (6) ARM Template简单介绍

    <Windows Azure Platform 系列文章目录>      Azure ARM (1) 概览      Azure ARM (2) 概览      Azure ARM (3) ...

  3. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP

    <Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文:       [New Portal]Windows Azure Virtual ...

  4. 【模式匹配】KMP算法的来龙去脉

    1. 引言 字符串匹配是极为常见的一种模式匹配.简单地说,就是判断主串\(T\)中是否出现该模式串\(P\),即\(P\)为\(T\)的子串.特别地,定义主串为\(T[0 \dots n-1]\),模 ...

  5. elasticsearch 集群

    elasticsearch 集群 搭建elasticsearch的集群 现在假设我们有3台es机器,想要把他们搭建成为一个集群 基本配置 每个节点都要进行这样的配置: cluster.name: ba ...

  6. 一个比较有意思的C语言问题

    先看代码吧,学习c语言结构体中看到的一个问题 #include<stdio.h> int main(){ struct{ int a:2; }x; x.a=; x.a=x.a+; prin ...

  7. 基于TCP和多线程实现无线鼠标键盘-Socket(2)

    在(1)中,实现了Windows服务端与Android客户端的连接,本节将实现在Windows服务端与Android客户端之间传递数据. Android客户端的发送线程SendThread.java代 ...

  8. hibernate----component-entity (人-地址-学校)

    package com.ij34.dao; import javax.persistence.*; @Entity @Table(name="school_inf") public ...

  9. Delphi 10.1 Berlin 官方未列之修正

    Delphi 10.1 Berlin 官方修正列表: Bug fix list for RAD Studio 10.1 Berlin Delphi 10.1 Berlin 官方未列之修正: 修正 iO ...

  10. java.lang.NoSuchMethodError: org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar

    今天在服务器部署的时候,发生了这个问题,明明在本机上使用的时候,没有发生错误,但是发布到服务器上的时候却发生了这个错误,百度了好久,发现遇到这个问题的人很多,但是却没有一个比较满意的答案,后来还是通过 ...