这里的软件工程师,没有大量管理服务器的经验,但想了解自动缩放的工作原理。
这是背景:
我们有一个在天蓝色云上运行的无状态应用程序,它与幕后的 Azure SQL 数据库对话。数据库本身跨两个不同的服务器区域进行异地复制。
我们设置了自动缩放,这样,如果服务器负载超过 80%,我们将向外扩展并添加一个实例。当负载回落到 50% 以下时,我们将缩减。通常不会进行缩放,但在使用高峰期,服务器会自动缩放。
这是我的问题:
启用自动缩放后,Azure 是否会自动处理实例之间的任何负载平衡?我知道 azure 也有一些负载均衡器产品,但我试图了解我们是否需要它们。
如果没有明确设置负载均衡器,扩展我们的实例是否毫无意义?
如果您正在运行 Web 应用程序的单个实例,则实际上没有任何负载平衡。因此,您只需根据特定指标在门户中设置缩放。例如,如果 CPU % > 80% 持续 X 分钟,则向上扩展至 X 个实例。然后设置另一条规则,规定当 CPU < 80% 持续 X 分钟,然后缩减到 X 个实例。
如果要设置两个实例并对它们进行负载平衡,则必须在实例之上添加负载平衡。这很简单。然后从那里你也可以设置相同的监控规则。
https://docs.microsoft.com/en-us/azure/architecture/best-practices/auto-scaling
https://azure.microsoft.com/en-us/features/autoscale/
https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/insights-autoscale-best-practices