【发布时间】:2014-06-14 03:38:48
【问题描述】:
我需要流式传输大约 1-2GB 的巨大数据集,但仅在他们探索数据时按需提供。例如,如果他们不探索部分数据,我不想将其发送出去。
所以现在,我有一个解决方案,它只为他们需要的东西有效地返回 JSON。之所以需要缓存,是因为这些 1-2GB 的对象实际上是从磁盘上的一个或多个文件在内存中构建的,因此如果您必须读取文件以返回此数据,则延迟约为 30 秒。
如何管理这样的缓存?基本上我认为解决方案类似于 ZooKeeper 之类的东西,我存储保存缓存的物理机器名称,然后将我的休息请求转发给它。
你们也会认为这是正确的模型吗?我想知道我需要做什么样的检查,这样如果拥有缓存的节点出现故障,我仍然可以在没有错误的情况下完成请求,但延迟会更高。
有人开发过这样的系统吗?现有的所有解决方案都适用于看似很小的行或对象。
【问题讨论】:
标签: caching memcached distributed