我们正在尝试为Windows Azure中的LoadBalanced集创建自定义探测。我们创建了一个Windows Communication Foundation服务探测,它侦听端口1001 (在Firewall - TCP中为此端口添加了一个入站规则,允许每个人的连接)。
如果满足某些条件,此服务将返回200 (OK),否则将返回404 (NotFound)。
端点配置为:
Protocol - TCP
Public Port - 50655
Private Port - 50655我们在LoadBalanced集属性中配置:
Probe Protocol - HTTP
Probe Path - probe
Probe Port - 1001
Probe interval - 15
Number of Probes - 2 问题是,即使探测服务为VM返回404,负载均衡器仍然选择此VM来处理请求。
如果我们将端点配置为具有私有和公共端口1001 (与探测端口相同),它将按预期工作。但是我们需要让端点监听端口50655。我们如何才能做到这一点?
发布于 2015-08-05 14:26:45
我注意到您将端点配置为TCP类型,而不是HTTP类型。我想这就是问题所在!
从逻辑上考虑,你会发现结果是负载均衡器不能公平地假设它应该看到HTTP 200成功来验证端点是up -因为它甚至不知道它是否会得到HTTP响应!
因此,它将退回到执行TCP样式的“are you up”测试,即向您的端口发送SYN,并检查它是否收到ACK。
https://stackoverflow.com/questions/26469291
复制相似问题