azure负载平衡器,如何知道负载平衡VM中的应用程序是否关闭?

时间:2019-09-11 13:56:18

标签: azure azure-load-balancer

Azure负载平衡器如何知道部署在负载平衡的VM中的应用程序(春季MVC应用程序)是否关闭?是通过对URL进行ping操作吗? VM可能已启动,但应用程序可能已关闭。您是否需要对应用程序进行任何更改-实现回显服务?如果说我们定义端口80,TCP,那么“健康状况探测”有什么用-可以,但是应用程序无效。


我已经读过这篇文章,但仍然无法解决这个问题:https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension

1 个答案:

答案 0 :(得分:0)

Azure负载均衡器提供运行状况探针,以与负载均衡规则一起使用。运行状况探测器可能支持协议,具体取决于负载均衡器SKU。 enter image description here

对于TCP probe,它通过使用定义的端口执行三向开放式TCP握手来启动连接。 TCP探针通过四次关闭TCP握手来终止连接。

对于HTTP / HTTPS probe,它基于TCP探针,并发出具有指定路径的 HTTP GET 。这两个探针都支持HTTP GET的相对路径。当实例在超时期限内以HTTP 状态200 响应时,运行状况探针会被标记。默认情况下,运行状况探测器会尝试每15秒检查一次已配置的运行状况探测器端口。最小探测间隔为5秒。所有间隔的总持续时间不能超过120秒。

TCP,HTTP和HTTPS健康状况探针被认为是健康状况,并在以下情况下将角色实例标记为健康状况:

  
      
  • VM引导后,运行状况探测将成功一次。
  •   
  • 已实现将角色实例标记为健康所需的指定数量的探测。
  •   

探针行为取决于:

  
      
  • 允许实例标记为启动的成功探测的次数。
  •   
  • 导致实例被标记为关闭的探测失败次数。
  •   
  • 指定的超时和间隔值确定实例被标记为启动还是关闭。
  •   

运行状况探测流量直接在生成运行状况探测的探测服务与客户VM之间。所有Load Balancer运行状况探测器均以IP地址 168.63.129.16 作为其probe source IP address

总体而言,您可以参考design guidance在您的方案中设计运行状况探针,应用程序端口和探针端口不需要相同。在某些情况下,可能希望探针端口与应用程序在其上提供服务的端口不同。就您而言,我认为如果后端虚拟机探针成功连接了TCP端口3389或SSH 22,则HTTP探针端口80失败,这可能是“虚拟机可能已启动,但应用程序已关闭。 “