在运行ASP.NET的Web场中,您使用什么进行分布式缓存?
-
01-07-2019 - |
题
我很好奇其他人在这种情况下使用了什么。我知道有几个选项,如memcached端口或ScaleOutSoftware。 memcached端口似乎没有积极工作(如果我错了,请纠正我)。 ScaleOutSoftware对我来说太贵了(我不怀疑它是值得的)。这并不是说我不想听到人们使用memcached或ScaleOutSoftware。我只是在说明我所知道的事情。在这一点上。
所以我的问题基本上是这样的:对于那些 ACTIVELY 使用分布式缓存的人,你在使用什么,你对它感到高兴,我应该注意什么?
我很快就要搬到两台服务器......两者都在同一个地方。我使用缓存(但要小心)来减少数据库服务器上的负载。
编辑:我下载了Scaleout Software的解决方案。我编写了它,它似乎工作得很好。我只需要决定我的钱包是否会支付现金。 :)任何人都有使用ScaleoutSoftware的经验好坏吗?
再次编辑:我问过这个问题已经有一段时间了?还有更多想法吗?我们最终从ScaleOutSoftware购买了解决方案并对此感到满意,但我很好奇其他人在做什么。
解决方案
我们目前正在使用我在几个小时内编写的非常简单的缓存,基于在Windows服务中重新托管ASP.NET缓存(更多信息和源代码在这里一>)。我不会假装它像Memcached那样接近优化,但我们只是寻找一些简单而自由的东西,直到Velocity出现,并且即使在相当重的负载下也能保持非常好。
归结为我们个人偏好核心组件 - 即影响网站是否可用的组件 - 它们是(a)由具有快速和高质量支持历史的供应商支持,或者(b) )我们写的,如果出现问题,我们可以迅速解决。开源很好,确实我们确实使用了一些OSS,但是如果你的网站是离线的,那么不幸的是新闻组等没有1小时的SLA,只是因为它的OSS没有'这意味着你有必要的理解或能力自己解决它。
其他提示
Microsoft有一个代号为 Velocity 的产品。它仍然在CTP中,并且正在缓慢移动,但看起来它会非常好。我们将在不久的将来打败它,看看它如何处理我们想要它做的事情(每小时读取/写入200万次)。将回复结果。
有一个100%的原生.NET,记录良好的开源(LGPL)项目,名为共享缓存 。看起来它尚未在SO上提及,但它很有前景,应该能够做到大多数人对分布式缓存的期望。它甚至支持不同的策略,如分布式或复制缓存等。
一旦我有机会在真实项目中尝试,我会立即更新这篇文章。
我们正在使用Windows的memcached端口,我们对它非常满意。 enyim.com memcached客户端API 非常棒且易于使用。它也是开源的,如果你问我,这是一个很大的优势。
我们现在在生产网络应用程序中使用此设置,它在提高性能方面发挥了很大作用。
在Codeplex上找到了一个很棒的.NET包装器/端口这里。 Awesomesauce!
我们在生产环境(www.funda.nl)中使用带有enyim库的memcached。工作正常,非常满意,但我们确实注意到客户端的CPU使用量大幅增加。大概是由于序列化/反序列化的继续。我们每秒做大约1000次读取。
全球100位客户的一款久经考验的产品是 NCache 。它的
功能丰富的产品,可让您以冗余且高度可用的方式存储会话状态,让您共享数据
在企业内部以及桥接WAN通信本质上充当数据结构,最后它允许您构建弹性缓存层,以便在
时您的应用程序可以扩展,您可以将服务器添加到缓存中,并进一步提高性能。