为了支持数以百万计的潜在图像,我们之前遵循了这种目录结构:
/profile/avatars/44/f2/47/48px/44f247d4e3f646c66d4d0337c6d415eb.jpg
文件名是 md5 散列,然后我们提取字符串中的前 6 个字符并从中构建文件夹结构。
所以在上面的例子中,文件名:
44f247d4e3f646c66d4d0337c6d415eb.jpg
产生一个目录结构:
/44/f2/47/
我们总是这样做是为了最大限度地减少任何单个目录中的照片数量,最终提高文件系统的性能。
然而,我们的新应用正在使用 Amazon S3 和 Cloudfront
我的理解是,您在 Amazon S3 上创建的任何文件夹实际上只是引用,而不是文件系统上的目录。
如果这是正确的,是否仍然建议拆分为上述文件夹/目录或类似方法?或者我们可以简单地在我们的应用程序代码中消除这种复杂性并提供如下图像链接:
/profile/avatars/48px/filename.jpg
请记住,这个应用程序旨在为数百万张照片提供服务。
任何指导将不胜感激。