分布式缓存/会话我应该在哪里转?

时间:2008-10-02 06:36:12

标签: asp.net session caching failover

我目前正在研究分布式缓存解决方案。

如果钱不是问题,你会推荐哪个?

4 个答案:

答案 0 :(得分:2)

在您的选择之外,我只尝试过使用memcached,即使这样,它也不是C#/ .NET库。

然而,memcached技术已得到充分证明,只有look at the sites that use it

  

...该系统被几个非常大的知名网站使用,包括 YouTube LiveJournal Slashdot 维基百科 SourceForge ,ShowClix,GameFAQs, Facebook Digg Twitter ,Fotolog,BoardGameGeek, NYTimes.com,deviantART,Jamendo,Kayak,VxV, ThePirateBay 和Netlog。

我真的没有理由看到其他解决方案。

祝你好运, Brian G

答案 1 :(得分:1)

人们在评估解决方案时通常会忘记的一件事是专门的支持。

如果您使用memcached,那么您将无法获得,因为您使用的是完全没有任何供应商支持的开源软件。是的,核心平台经过了充分的年龄测试,但C#客户端库可能要少得多。是的,您可能会在论坛等方面得到一些帮助,但不能保证答复很快,并且不保证您会得到任何答复。

我不知道对NCache或ScaleOut缓存的支持是什么样的,但在选择它们之前,这是值得找的东西。在过去的几年里,我曾与许多公司打过交道寻求支持,而且这些支持经常外包给那些甚至没有在公司工作的人(没有机会找到那些做过的人),这意味着没有机会获得支持。质量及时支持。另一方面,我还处理过那些将严重问题上报给合适的人,快速解决重要问题并向您发送个人补丁的公司。

其中一家公司是微软,这是我们将其软件用作平台的原因之一。如果您遇到生产问题,那么您可以依赖他们的支持。因此,我倾向于在此基础上与Velocity一起使用。

可能最重要的是,无论你选择哪个缓存,都要在你自己的界面(例如ICache)之后抽象它,这样你就可以在不占用开发过程的其余部分的情况下评估它们中的一些。这意味着即使您最初的决定不适合您,您也可以在不破坏应用程序的情况下进行切换。

(注意:我假设所有缓存都有足够的功能来支持你需要的东西,并且所有缓存都有足够和广泛相似的性能。这可能不是一个有效的假设,在这种情况下你会需要在你的问题中提供更多细节,说明为什么不是。)

答案 2 :(得分:0)

您还可以将Oracle Coherence添加到列表中。它有.NET和Java API。

答案 3 :(得分:0)

来自microsoft:App fabric 商业:NCache 开源:RIAK

我们尝试了一对,最后我们使用asp.net / mvc的SQL会话提供程序是的,有连接到数据库的开销,但我们的数据库服务器非常快,并且Web场有大量的容量,所以没有一个问题。

对RIAK非常感兴趣.net客户端和雅虎使用 - 可以扩展到许多manu服务器