你在运行ASP.NET的Web农场中使用什么进行分布式缓存?

4
我很好奇其他人在这种情况下使用了什么。我知道一些选择,比如memcached端口或者ScaleOutSoftware。memcached端口似乎没有被积极开发(如果我错了请纠正)。ScaleOutSoftware对我来说太贵了(我不怀疑它的价值)。但是这并不是说我不想听听有没有人在使用memcached或者ScaleOutSoftware。我只是陈述了我目前所知道的情况。
因此我的问题基本上是:对于那些积极使用分布式缓存的人,你们在使用什么,是否满意,并且我应该注意什么?
我很快将要移动到两台服务器...它们都将在同一位置。我会相当重(但谨慎)地使用缓存以减少数据库服务器的负载。 编辑: 我下载了Scaleout Software的解决方案。我已经为它编码,它似乎非常好用。我只需要决定我的钱包是否愿意付出代价。 :) 有没有人有关于ScaleoutSoftware的好或坏的经验? 再次编辑: 我已经问了一段时间了?还有什么想法吗?我们最终购买了ScaleOutSoftware的解决方案,并对其感到满意,但我很想知道其他人在做什么。

之前在这里提问过:http://stackoverflow.com/questions/38548/distributed-caching-with-net-20 - Portman
7个回答

3

微软有一个代号为Velocity的产品。它仍处于CTP阶段,进展缓慢,但看起来很不错。我们将在不久的将来对其进行测试,以查看其如何处理我们想要完成的任务(每小时> 2百万次读/写)。将发布结果。


@jeff willis:你有使用Velocity的经验吗?+1 http://stackoverflow.com/questions/551514/experiences-using-microsoft-distributed-cache-velocity - Kb.
@kb:不,我们等不及RTM了,所以我们使用WCF/对等通道构建了自己的版本。虽然还在解决问题,但是它出乎意料地容易。我这周在VS Live有一个开发者,他与Velocity团队交流过,他们说它是使用TCP构建的WCF。抱歉,这就是我能提供的全部信息了。 - jeff.willis

2
有一个完全基于.NET的、文档齐全的开源项目(LGPL),名为Shared Cache。看起来它还没有在SO上被提到,但它很有前途,应该能够满足大多数人对分布式缓存的期望。它甚至支持不同的策略,如分布式或复制缓存等。
我将在我有机会在真实项目中尝试它后,更新这篇文章并提供更多详细信息。

+1 我也用过这个,它并没有像 Scaleout 等付费应用那样“更好”,但是拥有源代码非常好,它能够像其他任何 distcache 一样很好地完成它应该做的事情。 - Rex M

1

在 Codeplex 上找到了一个很棒的 .NET 封装/移植 这里。太棒了!


1

我们目前正在使用一个我在几个小时内编写的非常简单的缓存,基于将ASP.NET缓存重新托管到Windows服务中(更多信息和源代码在这里)。我不会假装它像Memcached那样优化,但我们只是寻找一些简单且免费的东西,直到Velocity出现,并且即使在相当大的负载下,它也表现得非常好。

这归结于我们对核心组件的个人偏好 - 即影响站点是否可用的组件 - 要么由具有快速高质量支持历史的供应商支持,要么由我们编写,以便如果出现问题,我们可以快速修复。开源很好,事实上我们确实使用了一些OSS,但如果您的网站离线,那么不幸的是新闻组等没有1小时SLA,而且仅仅因为它是OSS并不意味着您具备必要的理解或能力来自行修复它。


我们最终选择了ScaleOutSoftware。我将其标记为已接受,因为我非常喜欢有关核心组件的评论。 - Micky McQuade

1

我们正在使用适用于Windows的memcached端口,我们对它非常满意。enyim.com memcached客户端API非常好用且易于操作。而且它是开源的,如果你问我,这是一个很大的优势。

我们现在将这个设置用于生产Web应用程序中,它在提高性能方面帮助了很多。


0

全球数百名客户经过尝试和测试的产品之一是NCache。它是一个功能丰富的产品,可以让您以冗余和高可用性的方式存储会话状态,让您在企业内共享数据,并作为数据织物进行WAN通信桥接,最后它还可以让您构建弹性缓存层,以便在应用程序扩展时,您可以向缓存添加服务器并进一步提高性能。


0

我们在生产环境(www.funda.nl)中使用enyim库和memcached。它工作得很好,我们非常满意,但我们注意到客户端的CPU使用量大幅上升。这可能是由于序列化/反序列化操作所致。我们每秒大约进行1000次读取。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接