【问题标题】:Distributed cache with huge objects ~1-2GB带有大对象的分布式缓存 ~1-2GB
【发布时间】:2014-06-14 03:38:48
【问题描述】:

我需要流式传输大约 1-2GB 的巨大数据集,但仅在他们探索数据时按需提供。例如,如果他们不探索部分数据,我不想将其发送出去。

所以现在,我有一个解决方案,它只为他们需要的东西有效地返回 JSON。之所以需要缓存,是因为这些 1-2GB 的对象实际上是从磁盘上的一个或多个文件在内存中构建的,因此如果您必须读取文件以返回此数据,则延迟约为 30 秒。

如何管理这样的缓存?基本上我认为解决方案类似于 ZooKeeper 之类的东西,我存储保存缓存的物理机器名称,然后将我的休息请求转发给它。

你们也会认为这是正确的模型吗?我想知道我需要做什么样的检查,这样如果拥有缓存的节点出现故障,我仍然可以在没有错误的情况下完成请求,但延迟会更高。

有人开发过这样的系统吗?现有的所有解决方案都适用于看似很小的行或对象。

【问题讨论】:

    标签: caching memcached distributed


    【解决方案1】:

    https://github.com/golang/groupcache 用于更大的事情,但尽管 http://dl.google.com 使用它,但我不确定它如何处理 Multi-gigabyte 对象。

    另一方面,HTTP 可以进行部分传输,并且会非常有效。看看 Varnish 或 Nginx。

    【讨论】:

      猜你喜欢
      • 2013-01-12
      • 1970-01-01
      • 2014-07-05
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 2020-01-06
      相关资源
      最近更新 更多