【问题标题】:How Azure load balances scaled out App Service plan?Azure 负载均衡器如何横向扩展应用服务计划?
【发布时间】:2018-04-04 12:51:47
【问题描述】:

我有一个 Azure 应用服务,我使用应用服务计划在其中创建了 5 个实例 横向扩展选项。现在我不确定 Azure 如何在这些实例之间平衡请求?我没有看到任何负载均衡器。

另外,我如何知道哪个实例正在处理哪个请求?

【问题讨论】:

    标签: azure azure-web-app-service azure-app-service-plans azure-app-service-envrmnt azure-load-balancer


    【解决方案1】:

    负载均衡器是自动创建的,你看不到。

    基本上,它会随机向实例发送请求,尽管它可以通过 ARR Affinity 设置为“粘性”。 您可以在应用服务的应用程序设置中找到设置:

    如果启用,负载均衡器会将 cookie 附加到响应中(如果它们还没有响应)。 它使未来的请求命中同一个实例。 当然,如果实例不再存在(例如由于自动缩放),那么它会再次转到随机实例。

    WEBSITE_INSTANCE_ID 环境变量可以在后端告诉您哪个实例正在处理请求。 您可以在此处找到可用变量的列表:https://github.com/projectkudu/kudu/wiki/Azure-runtime-environment

    【讨论】:

    • @juunas 当我打开应用服务的 CMD/Powershell 时,使用的是哪个实例?此外,当我使用 Visual Studio 发布进行部署时,它会部署到所有横向扩展的实例吗?
    • 对于第一个问题,我不知道 :D 但是是的,您将部署到所有实例。
    • 你可以在CMD里试试echo %WEBSITE_INSTANCE_ID% :)
    • 嗯..不确定。可能不是。但文件系统在实例之间共享。
    • 您可以通过覆盖 cookie 来告诉 Kudu 您要连接到哪个实例。正如 juunas 所提到的,您永远不需要这样做,因为文件系统在实例之间是通用的,安装在网络上(即 d:\home)。有关更多信息,请参阅大卫的答案 - stackoverflow.com/a/34833769/4148708
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多