存储 10 亿张图像的最佳方式是什么?(由网站用户通过 PHP 或 Javascript 上传)
既然每个人都知道在单个目录或 NFS 等中存储大量图像(在这种情况下是网站用户上传的图像)是不好的,那么存储 10 亿张图像的存储解决方案的最佳方式、架构和配置是什么?
假设单个用户不会拥有超过 20 张图像,我们将如何组织用户图像?请考虑这必须以结构化方式组织,以便我们可以通过某种类型的用户唯一标识符或哈希以编程方式通过 php/javascript 或 API 获取单个用户的图像。
任何开源解决方案都将是首选。可能的解决方案是 glusterFS、MongoDB、WeedFS 等。
假设如下:
使用 Linux Debian 发行版的网站每月将有 10 亿次页面浏览量
每个用户最多 20 张照片(10 个 90 像素 x 90 像素和 10 个大的缩略图,脚本调整大小的图像,最大宽度为 500 像素或最大高度为 500 像素,具体取决于图像的形状,即正方形、矩形、水平、垂直等)。
一个 LEMP-stack (Linux Nginx MySQL PHP) 社交媒体类型的应用程序,其内容将是文本和图像。
没有像 S3 等第三方云存储。它必须在使用我们自己的硬件和资源的私有数据中心内。
该解决方案必须包括存储解决方案和组织用户上传的图像。
在我的研究过程中,我还提出了以下 2 篇很棒的文章,以帮助您进一步澄清我的问题。