Windows Azure负载平衡器的自定义探测

本文关键字:自定义 探测 平衡 Azure 负载 Windows | 更新日期: 2023-09-27 18:27:15

我们正在尝试为Windows Azure中的LoadBalanced集创建自定义探测。我们创建了一个Windows Communication Foundation服务探测器,它正在侦听端口1001(在防火墙-TCP中为该端口添加了入站规则,允许所有人连接)。

如果满足某些条件,此服务将返回200(OK),否则将返回404(NotFound)。

端点已配置:

Protocol - TCP
Public Port - 50655
Private Port - 50655

我们在LoadBalanced Set属性中进行了配置:

Probe Protocol - HTTP
Probe Path - probe
Probe Port - 1001
Probe interval - 15
Number of Probes - 2    

问题是,即使探测服务为VM返回404,负载均衡器仍然选择该VM来处理请求。

如果我们将端点配置为具有私有和公共端口1001(与探测端口相同),它将按预期工作。但我们需要让端点侦听端口50655。我们如何才能做到这一点?

Windows Azure负载平衡器的自定义探测

我注意到您将端点配置为TCP类型,而不是HTTP类型。我认为这就是问题所在!

从逻辑上思考,你会发现结果是负载均衡器不能公平地假设它应该看到HTTP200成功来验证端点是否启动——因为它甚至不知道是否会得到HTTP响应!

因此,它将回到TCP风格的"你在吗"测试,即向你的端口发送SYN,并检查它是否得到ACK。