Azure VMSS 如何在缩小或缩小时处理现有请求?

How does Azure VMSS handle existing request while scaling down or scaling in?

我有一个 VMSS,实例数说 3.Lets 说我指定如果 CPU 利用率 <20%,则将实例减少 3 到 1。假设这 3 个实例服务于一些请求,假设每个请求需要 60 秒才能完成。

假设此时 CPU 利用率达到 15%,因此实例计数应减少 2。那么此时由其他两个实例服务的现有请求会发生什么情况。这些实例是否将其正在进行的进程转移到其他实例,或者在它们完成正在进行的请求之前不会减少计数?

我已经将规模集附加到应用程序网关并启用了连接耗尽,以便正在进行的进程不会中断。但它正在下降。由于它失败了,我正在尝试使用 API 管理修订和版本来做一些事情。

预期:一旦规模 down/scale 发生,正在进行的请求不应下降。

规模集不了解您的 VM 中正在发生的事情以及正在进行的请求。当您达到缩减阈值时,您的 VM 将被删除,任何现有请求都将失败。

您应该在规模集之前使用负载均衡器,以确保不再将流量发送到正在关闭的 VM。您的应用程序需要构建为在请求因缩小而失败时重试请求。