gpt4 book ai didi

asp.net - 如何在负载平衡的 Web 场中处理 ASP.NET 应用程序变量

转载 作者:行者123 更新时间:2023-12-01 02:37:02 24 4
gpt4 key购买 nike

我正在将一个站点从单个服务器移动到一个由负载均衡器后面的三个 Web 服务器组成的服务器群。处理 session 管理似乎很容易——只需在负载平衡器上使 session “粘滞”(我们评估了基于 SQL 的 session 管理,但决定继续使用 InProc session 管理以提高效率)。

然而,我们也使用了一个相当大的配置对象,我们保留在应用程序空间中(例如 Application[ObjName])。由于配置对象是从内存中加载的,所以在有人更改配置之前我们没有问题。那时,托管服务器上的应用程序将发生更改,而数据库将发生更改。但是,其他两台服务器不会有变化。我们已经讨论过“每分钟一次”轮询规则(例如在新 session 中)、将信息保留在 session 中(效率不高)等。所有这些都有严重的缺点。我想知道其他人是怎么做的。是否可以将应用程序空间保留在 SQL Server 上但 session 空间在进程中?任何有关如何处理此问题的帮助或见解将不胜感激!

最佳答案

Application[] 将始终基于本地内存,因此无论您要更改什么代码。所以把它放在别的地方,比如分布式缓存,AppFabric , NCache , memcached.net等。当有人更改配置时更新缓存,当您需要读取从缓存中读取的设置时。传播/同步由缓存本身负责。

关于asp.net - 如何在负载平衡的 Web 场中处理 ASP.NET 应用程序变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com