2017-03-27 88 views
0

作为部署新网站时的默认设置,启用AAR Affinity以允许客户端一遍又一遍地访问同一个Web服务器实例。我想知道为什么这是默认启用,如果我需要这个功能。据我所知,会话存储和类似的,在Azure上不可用。如果您想要这种行为,Microsoft建议使用Redis作为共享存储。我的问题是,使用AAR Affinity有什么好处以及不禁用它的任何原因?没有它的情况下运行,也会使负载均衡分布更均匀。为什么我不能禁用Azure网站上的AAR Affinity

回答

0

据我了解,会话存储和类似的,不可在Azure上

在内存中的会话存储在ASP.NET运行只是代码,可Azure的网站/网页上应用。如果你依赖于这个功能,那么你需要启用该选项,否则,如果你点击不同的服务器,你会有不同的会话。另外,如果您使用某种形式的内存缓存,那么您希望同一用户返回到同一台服务器以改善缓存命中率。

+0

但我猜你不能保证击中了以下要求(即使AAR亲和力)相同的Web服务器实例。而且Azure上不支持会话传输,因此无法真正了解如何在没有Redis或其他形式的外部缓存的情况下使用会话存储。 – ThomasArdal

+0

AAR亲和力会在您的计算机上设置一个cookie,以确保您在后续请求(这是它的主要目的)上点击同一台服务器。如果该服务器不存在,唯一的原因是您不能访问同一台服务器。它不可靠或不推荐,但它仍然有效。 –

+0

但是您不确定该服务器在下列请求中仍然存在。这是我的要求。如果你不能依赖于可用的同一台服务器,并且实例之间没有会话传输,我认为没有任何启用AAR Affinity的要点。 – ThomasArdal

0

使用ARR Affinity和任何不禁用它的原因有什么好处?

在PaaS世界中,PaaS VM实例因各种原因可以重新启动,因此将会话信息存储在内存中并不是一个好主意。然而,ARR Affinity是一种支持(有一些限制)那些被设计为会话敏感(又名有状态)应用程序的应用程序。

你是对的:

运行没有它,就会使负载均衡分布比较均匀为好。

HTH :)

相关问题