【问题标题】:What are you using for Distributed Caching in web farms running ASP.NET?您在运行 ASP.NET 的网络场中使用什么进行分布式缓存?
【发布时间】:2010-09-11 08:12:53
【问题描述】:

我很好奇其他人在这种情况下使用的是什么。我知道一些可用的选项,例如 memcached 端口或 ScaleOutSoftware。 memcached 端口似乎没有被积极处理(如果我错了,请纠正我)。 ScaleOutSoftware 对我来说太贵了(我不怀疑它值得)。这并不是说我不想听到人们使用 memcached 或 ScaleOutSoftware。我只是陈述我在这一点上“知道”的事情。

所以我的问题基本上是这样的:对于那些积极使用分布式缓存的人,你正在使用什么,你对它是否满意,我应该注意什么?

我很快就要搬到两台服务器上……两台服务器都在同一个位置。我相当大量地(但小心地)使用缓存来减少我的数据库服务器上的负载。

编辑:我下载了 Scaleout Software 的解决方案。我已经为它编写了代码,它似乎工作得很好。我只需要决定我的钱包是否愿意为此付出现金。 :) 有人对 ScaleoutSoftware 有好的或不好的体验吗?

再次编辑:我问这个问题已经有一段时间了?还有什么想法吗?我们最终从 ScaleOutSoftware 购买了解决方案,并且对它感到满意,但我很好奇其他人在做什么。

【问题讨论】:

标签: asp.net caching memcached scaling distributed-cache


【解决方案1】:

我们正在为 Windows 使用 memcached 端口,我们对此非常满意。 The enyim.com memcached client API 非常棒且易于使用。如果你问我,它也是开源的,这是一个很大的优势。

我们现在在生产网络应用中使用此设置,它对提高性能有很大帮助。

【讨论】:

    【解决方案2】:

    Microsoft 有一个代号为Velocity 的产品待定。它仍然在 CTP 中,并且正在缓慢移动,但看起来会很不错。我们将在不久的将来击败它,看看它如何处理我们想要它做的事情(> 每小时 200 万次读/写)。将返回结果。

    【讨论】:

    • @jeff willis:有使用 Velocity 的经验吗? +1 stackoverflow.com/questions/551514/…
    • @kb:不。我们等不及 RTM,所以我们使用 WCF/peer 通道构建了自己的。仍在解决问题,但这非常容易。本周我在 VS live 有一个开发人员,他与速度专家交谈,他们说它是使用 tcp 在 WCF 上构建的。抱歉,这就是我为你准备的全部内容。
    【解决方案3】:

    我们在生产环境中使用 memcached 和 enyim 库 (www.funda.nl)。工作正常,非常满意,但我们确实注意到客户端的 CPU 使用率大幅提高。大概是由于正在进行的序列化/反序列化。我们每秒进行大约 1000 次读取。

    【讨论】:

      【解决方案4】:

      在 Codeplex 上找到了一个很棒的 .NET 包装器/端口 here。太棒了!

      【讨论】:

        【解决方案5】:

        我们目前正在使用我在几个小时内编写的非常简单的缓存,基于在 Windows 服务 (more info and source code here) 中重新托管 ASP.NET 缓存。我不会假装它像 Memcached 这样的优化工具,但在 Velocity 出现之前,我们只是在寻找简单和免费的东西,即使在相当重的负载下也能很好地支撑。

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

        【讨论】:

        • 我们最终选择了 ScaleOutSoftware。我将其标记为已接受,因为我真的很喜欢关于核心组件的 cmets。
        【解决方案6】:

        有一个 100% 原生 .NET、有据可查的开源 (LGPL) 项目,名为 Shared Cache。看起来它还没有在 SO 上提到,但它很有前途,应该能够满足大多数人对分布式缓存的期望。它甚至支持不同的策略,如分布式或复制缓存等。

        一旦我有机会在实际项目中试用,我会立即更新这篇文章并提供更多详细信息。

        【讨论】:

        • +1 我用过这个,它并不比 Scaleout 之类的付费应用真正更好,但是拥有源代码很好,而且它可以做它应该做的事情任何其他 distcache。
        【解决方案7】:

        NCache 是一款经过全球 100 家客户试用和测试的产品。它的

        一个功能丰富的产品,让您以冗余和高可用性的方式存储会话状态,让您共享数据

        在企业内部以及 WAN 通信的桥接本质上充当数据结构,最后它允许您构建弹性缓存层,以便当

        您的应用程序可扩展,您可以将服务器添加到缓存中并进一步提高性能。

        【讨论】:

          猜你喜欢
          • 2013-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-15
          • 2014-10-26
          • 2020-03-24
          • 1970-01-01
          • 2010-12-23
          相关资源
          最近更新 更多