我们正在尝试为Windows Azure中的LoadBalanced集创建自定义探针。 我们创建了一个Windows Communication Foundation服务探针,它正在侦听端口1001(在Firewall - 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.我们怎样才能实现这个目标?
答案 0 :(得分:0)
我注意到您将端点配置为TCP而不是HTTP类型。我认为那就是问题!
从逻辑上思考,您将看到后果是负载均衡器无法公平地认为它应该看到HTTP 200成功验证端点是否已启动 - 因为它甚至不知道它是否会获得HTTP响应一点都没有!
所以相反它会回归到做TCP风格的#39 test,即将SYN发送到您的端口,并检查它是否收到ACK。