【问题标题】:C# .NET Multi Server or Cloud StructureC# .NET 多服务器或云结构
【发布时间】:2013-05-07 22:40:13
【问题描述】:

我有一个越来越大的社交网络,但许多功能都在使用“HttpContex.Current.Cache”类来重新利用数据,而无需针对每个请求访问数据库。我知道“HttpContext.Current.Cache”是“静态的”,所以我会遇到多服务器和云结构的问题。我知道有一种方法可以配置 SQL Server 以使用缓存系统。是否足以处理所有请求还是我必须做的其他事情?

顺便说一句,我将不得不删除大部分缓存功能,因为它包含一些用户数据...

我在这里问这种问题,因为我正在测试多服务器结构中的网站,我已经遇到了问题。我必须确保服务器内存 A 等于服务器内存 B 并且这样做,我知道我是否放弃了多服务器结构的所有好处..

【问题讨论】:

  • 我建议使用分布式缓存。 AppFabric 是一个很好的解决方案。您甚至可以对其进行配置,以便通过代码以与标准缓存相同的方式访问它(无需更改代码)。唉,我目前没有可靠的消息来源,但我相信经过一番搜索,信息会很容易弹出
  • 这就是我需要的!非常感谢!

标签: c# .net cloud-hosting multiserver


【解决方案1】:

“我必须确保服务器内存 A 等于服务器内存 B”

我认为这无论如何都无法实现。

您真正想要的是Distributed Cache 机制。常见的选项是:

  • AppFabric(微软官方 IIS 插件)
  • NCache(基础版免费)
  • Memcached(成熟、流行且被认为非常快)

但请记住,HttpContex.Current.Cache 是静态的并且是每个应用程序域的。这意味着一旦您切换到 Distributed Cache 解决方案,您必须将所有对 HttpContex.Current.Cache 的调用更改为新的缓存 API。

好消息是,至少Session State 和Output Cache 可以轻松配置为使用新缓存(通常使用web.config)。

【讨论】:

  • 我稍微修改了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
相关资源
最近更新 更多