C#.NET多服务器或云结构

时间:2013-05-13 19:37:21

标签: c# .net cloud-hosting multiserver

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

顺便说一下,我必须删除大部分缓存功能,因为它包含一些用户数据......

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

1 个答案:

答案 0 :(得分:3)

  

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

我不认为这是可以实现的。

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

  • AppFabric(Microsoft的IIS官方附加组件)
  • NCache(基本版免费)
  • Memcached(成熟,受欢迎,速度非常快)

请注意,HttpContex.Current.Cache是静态的,每个App-Domain。这意味着,一旦您切换到Distributed Cache解决方案,您就必须将对HttpContex.Current.Cache的所有调用更改为新的缓存API。

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