首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储要从多个节点访问的大型只读文件的最佳方式

问存储要从多个节点访问的大型只读文件的最佳方式
EN

Stack Overflow用户
提问于 2018-01-09 03:11:16
回答 2查看 41关注 0票数 0

我有一个很小的文件集合(少于50个),每个文件平均约为4 4GB。我希望能够从不同的服务器访问这些文件,并尽可能减少延迟。你会怎么做?

我一开始考虑使用一些数据库,但MySQL对大于2 2GB的文件有限制。

我正在寻找的接口非常简单,我想发布文件,将它们与一个键相关联,并使用该键检索它们(就像redis一样,但redis用于缓存,最大大小为512MB)。

EN

回答 2

Stack Overflow用户

发布于 2018-01-09 03:22:12

如果你只是想让一个文件在尽可能小的延迟下可用,你正在寻找一个CDN (内容分发网络)。

CDN会将文件放在全球多个机房,并从离您最近的机房拉取,尽可能减少延迟。CDN还针对快速检索和发送文件进行了优化。一旦缓存,请求甚至不需要去你的服务器,它只需要在CDN和最终用户之间。

"key“可以只是文件名。

当涉及到文件时,将其存储为文件(几乎是*)总是最快的。如果您将其存储在数据库中,则只会增加检索文件的额外延迟。它总是至少比直接检索文件慢一点。

有许多CDN存在。亚马逊网络服务的CloudFront可能是最容易获得和最便宜的(至少最初是这样)。Akamai可能是最大的。MaxCDN也是一个很好的选择。

*:从仅检索文件的超级技术、纯速度的角度来看,将其保存在内存(RAM)而不是存储(硬盘)中可能会更快,这一点您可以轻松地使用数据库,尽管您也可以使用自定义文件系统驱动程序。虽然使用CDN,您失去了这种低级控制,但具有分布式服务器的CDN的好处将会更多。

票数 1
EN

Stack Overflow用户

发布于 2018-01-09 03:34:19

最小的延迟是从读取文件的应用程序的本地存储中读取文件。这将消除所有网络延迟。

那么任务就变成了如何在不同的服务器上保持这些文件的副本同步?我会考虑使用SyncThing来帮助解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48156667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档