代码之家  ›  专栏  ›  技术社区  ›  FlySwat

有人在分布式服务器场上使用Memcached with ASP.NET吗?

  •  5
  • FlySwat  · 技术社区  · 17 年前

    我们有22个HTTP服务器,每个服务器运行各自的ASP.NET缓存。它们从仅在非高峰时间更新的只读数据库中读取。

    我们使用文件依赖项使缓存无效,提示服务器“重新启动”缓存…如果这是在高峰时间意外完成的,则可能会由于突然大量打开的连接而导致数据库群集崩溃。

    是否有人以这种分布式形式将memcached与ASP.NET一起使用?在我看来,它将提供一个巨大的优势,即只需构建一个缓存(并且对数据库的命中率减少21倍),而memcached将处理在每个盒子上分发它的问题。

    如果有,您是将其与HTTP框放在同一个框中,还是运行单独的缓存层?它的可扩展性有多好,我们能期望它需要强大的服务器吗?我们的工作数据集并不庞大(我们将其放入每个HTTP框上的4 Gig内存中就可以了)。

    你如何处理失效?

    寻找经验和战争故事。

    5 回复  |  直到 17 年前
        1
  •  5
  •   Todd    17 年前

    “memcached将处理在每个框上分发它”

    memcached不会将缓存分发或复制到memcached场中的每个框。memcached客户端基本上对密钥进行散列,并基于该散列选择缓存服务器。当其中一个memcached服务器出现故障时,您将丢失该服务器上存在的所有缓存项,但是,客户端将识别故障并开始将值写入其他服务器。在这种情况下,代码需要考虑缓存中缺少的项,并在必要时重置它们。

    How memcached works .

        2
  •  2
  •   Robert C. Barth    17 年前

        3
  •  1
  •   WildJoe    17 年前

    上一次我看到文档明确地说,与web服务器共享是可以的。

    它运行良好,速度很快,我没有任何问题。

    哦,在我使用它的项目中,失效是明确的。不知道还有什么其他的模式。

        4
  •  1
  •   Rob Bruce Rob Bruce    17 年前

    如果您想在memcached服务器上获得复制权限,那么可能值得一看 repcached

        5
  •  0
  •   Cheeso    17 年前

    值得一看 Velocity ,这是Microsoft提供的分布式缓存。我无法与memcached进行逐点比较,但Velocity与ASP.NET集成,并将继续得到更多的开发和集成。