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

Rou*_*han 5 azure horizontal-scaling azure-vm-scale-set

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

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

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

期望:一旦发生缩小/缩小,正在进行的请求不应下降。

Sam*_*gan 1

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

您应该在规模集前面使用负载均衡器,以确保流量不再发送到正在关闭的虚拟机。您的应用程序需要构建为在由于缩减而失败时重试请求。