微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – 如何在处理流量之前确保新的自动调整的Azure App Service实例是否为热门?

在应用服务上启用自动缩放后,Azure将根据设置规则根据需要添加实例.我总是从至少2个实例开始.在应用程序代码完全初始化之前,我想确保流量不会定向到新的应用服务实例.我怎样才能做到这一点?是否可以添加超时?或者是以某种方式自动完成的?

解决方法

How can I do this? IS it possible to add a timeout? Or is it done automatically somehow?

如果您使用水平扩展(也称为扩展和扩展),azure将保持您的应用程序在配置新资源时不间断地继续运行.

Azure将自动预热新实例的应用程序并添加负载平衡以自动在它们之间分发请求.您无需单独单独配置负载平衡.

关于azure auto scale如何工作的更多细节,你可以参考这个article和这个article.

“Azure will automatically warm up the new instance’s application” – the links you provided do not say this – can you provide other references? I essentially don’t want the instance added to a load balancer until a specific URL is accessible with 200 OK or after a hard timeout of 2 minutes.

在Web应用程序扩展到2实例后,如果新请求被发送到认实例网站,azure将预热新实例的Web应用程序.

您可以编写如下测试:

在web.config的webserver标记添加以下配置代码以跟踪所有请求:

<tracing>  
  <traceFailedRequests>  
    <clear/>  
    <add path="*">  
      <traceAreas>  
      <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,iisnode" verbosity="Verbose" />  
      </traceAreas>  
      <failureDeFinitions statusCodes="200-600" />  
    </add>  
  </traceFailedRequests>  
</tracing>

然后,如果您的网站在访问网络应用程序后扩展到2个实例.由于实例的进程未启动,因此负载平衡不会将请求重定向到第二个实例. Azure将自动预热第二个实例的Web应用程序.

你可以找到如下图所示的日志:

日志结果:

fr00030.xml(你可以找到进程是5860旧实例):

fr00031.xml(您可以找到该进程是8164新实例,需要4015毫秒)

此外,正如Byron Tardif所说,如果你想启用自定义预热(预热所有页面),你可以使用Application Initialization Module.

它也会在新请求访问您的第二个Web应用程序实例之前调用.

原文地址:https://www.jb51.cc/html/225234.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐