![88888888888888888.png](https://media.zhijieshequ.com/images/comments/202407/05/nDC0ZkctWRKAC5FsPyJHMUjknDrnY0YgaRrSBOnH.png~tplv-ela7jgknyp-ratio.jpeg)
Fresns 存储设置支持存储和访问分开使用
![General Digest](/assets/ZhijieWeb/images/icon-digest.png)
大家普遍的 Fresns 存储配置方案是将「存储」和「访问」共用一套服务。比如文件存储在七牛云,访问也是七牛云,参见图一
。
Fresns 存储设置支持「存储」和「访问」分开使用。比如「知结社区」的存储方案就是将「存储」和「访问」分开配置。
知结目前采用的是火山引擎的#对象存储#和#ImageX#分发,配置信息参见图二
。
文件系统流程如下:
- 通过 S3 Storage 插件,将文件上传到「对象存储」中。
- 通过 ImageX 处理图片样式和 CDN,并供用户访问。
以此类推,该方案可以应用到任何服务里。
目前 Fresns 应用市场的存储插件已经覆盖了本地、FTP,SFTP 和 S3 协议,使用任意协议上传存储文件,然后访问配置也可以选用任何方式,比如直接访问,或者 CDN 服务。上面示例中,ImageX 就是一种集成图片处理和 CDN 的服务。
使用 CDN 分发访问,大多数图片处理功能都支持关闭原图访问,这样可以防止原图泄露,让用户只能访问样式处理后的图片。
配置区别
存储和访问共用一套服务,无需资源绑定,使用简单。
分开配置,访问如果是 CDN 服务,则需要配置镜像回源。简而言之,就是当访问资源时,如果资源在 CDN 中不存在,则从源站(比如对象存储里)获取文件并缓存在 CDN 各个节点。
分开配置的优势:无论是本地存储还是对象存储都很便宜,选择哪种都可以。但是访问,如果是直接访问,涉及到带宽问题;如果是 CDN 服务,流量费不便宜。所以分开配置,可以方便你切换服务商时,不用再折腾文件迁移。或者在访问配置中嵌套你的其他逻辑。
相关插件
本地、FTP,SFTP
https://marketplace.fresns.com/open-source/detail/FileStorage
S3
https://marketplace.fresns.com/open-source/detail/S3Storage
市面上绝大多数的对象存储都支持 S3 协议,比如阿里云 OSS、腾讯云 COS、又拍云 USS、火山引擎 TOS 等等。