标签:
如果需要对一个云服务下的不同虚拟机实现负载均衡,可以将Public Port的消息通过负载均衡转发到每个VM,从而实现请求的自动负载均衡。
具体拓扑如下:
我们可以对之前创建的这两台虚拟机,设置80端口的负载均衡。
注意:Azure的负载均衡目前只支持四层,不能保留Session。
负载均衡的算法是Azure设置好的,不能修改。算法主要依赖于五元组(source IP, source port, destination IP, destination port, protocol type)。
Azure虚拟机在默认情况下,只开启了RDP的端口和PowerShell的端口,其他的端口都是关闭的。
我们为了测试,安装并开启2台虚拟机的web服务,并添加80端口的终结点。
安装web服务,第二台截图略
测试第一台WEB服务,正常!
第二台web服务器。
(注意:为了区分效果,2台web网页内容设置为不一样,实际情况下应该相同)
首先在第一台虚拟机上添加终结点,并创建负载均衡群集
点击“添加”
添加独立终结点
指定终结点名称“HTTP”,协议TCP,公用端口80,私有端口80,勾选“创建负载平衡群集”
设置负载平衡群集名称NLB-HTTP,探测协议TCP,探测端口及间隔,保持默认
第一台虚拟机终结点创建完成,
切换到第二台虚拟机
终结点页面
添加
选择将终结点添加到负载平衡群集“NLB-HTTP”
设置终结点名称HTTP,其余默认
第2台虚拟机终结点添加完成。
下面开始测试
找一台本地计算机,我们使用2个浏览器chrome和IE,模拟2个用户访问,效果如下:
IE
chrome
测试完成。
Azure Load Balancer(负载均衡器)的规则,是由五要素组成source IP, source port, destination IP, destination port, protocol type
参考资料:http://azure.microsoft.com/blog/2014/04/08/microsoft-azure-load-balancing-services/
最新的Azure Load Balancer可以将规则进行修改,改为2要素,(Source IP,Destination IP)或3要素(Source IP, Destination IP, Protocol)。这样由同一个客户端发起的请求,会指向同一个Azure目标服务器。通过这种方式,就可以保留Session。如下图所示:
Microsoft Azure系列之九 实现基于Iaas云服务的虚机负载平衡
标签:
原文地址:http://yiding.blog.51cto.com/499333/1783857