我有一个非常简单的设置:一个用于 http(s) 流量的天蓝色负载均衡器、两个运行 Windows 的应用程序服务器和一个数据库,其中还包含会话数据。
目标是能够重新启动或更新服务器上的软件,而不会丢弃单个请求。问题是运行状况探测会每 5 秒进行一次测试,并且需要连续失败 2 次。这意味着当我终止应用程序服务器时,这 10 秒内的很多请求都会超时。我怎样才能避免这种情况?
我已经尝试在不同的端口上运行健康探测,然后使用 Windows 防火墙拒绝所有到不同端口的流量。负载均衡器会认为该节点上的应用程序已关闭,因此不再向该特定节点发送新流量。但是... Azure LB 执行基于哈希的负载平衡。因此,已经流向现在被杀死的节点的流量将继续流向那里几秒钟!