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

架构问题:客户端RESTAPI的缓存解决方案

  •  3
  • Sergey  · 技术社区  · 16 年前

    我正在实现一个高流量的客户端web应用程序,该应用程序使用了大量RESTAPI作为云数据库的数据访问层。我之所以说客户机是因为它实现了REST而不是提供它。

    RESTAPI是在服务器端和客户端实现的,我需要找到一个好的缓存解决方案。这个应用程序运行在一个web服务器场上,所以我倾向于像memcached这样的分布式缓存。这个缓存解决方案需要像我的应用程序和RESTAPI之间的代理层一样,同时支持客户端和服务器端。

    我希望尽可能减少REST调用,并且需要尽可能保持数据的准确性,但不需要100%准确。

    此缓存代理的最佳解决方案是什么?它是在具有本地缓存的服务器上运行的独立应用程序,还是使用分布式缓存内置到当前解决方案中?你有什么想法、建议或顾虑

    非常感谢。

    1 回复  |  直到 16 年前
        1
  •  4
  •   Andrew Siemer    16 年前

    你一针见血。您需要一个缓存层作为数据的代理。

    我建议您创建一个抽象云概念的层。你的客户不应该关心数据来自哪里。我将创建一个与云和所有其他数据通信的存储库层。然后,您可以在客户机实际调用的服务层之上放置一个服务层。在这个服务层中,您可以实现缓存层之类的东西。

    MemCached Win32 取决于您的环境。如果您身处windows世界,MemCached win32运行得非常好!注意 Enyim MemCached win32客户端…它是所有其他端口中问题最少的。

    但是,如果您对它持开放态度,并且您身处.net世界,那么您可以尝试一下 Velocity . MS最终发现,他们的缓存框架存在漏洞,需要支持农场概念。我上次检查的Velocity还没有退出测试版…但仍然值得一看。

    推荐文章