CNode

分布式部署的情况下,如何处理上传的图片/文件?

问答
Aaxetroy发布于8 年前最后回复8 年前4 回复4528 浏览0 收藏

还是图片/文件上传不和业务代码一起,单独做成图库,放在一个机器?

其中可能涉及一些问题

  • 图片/文件存哪里?

    • 如果以二进制存分布式数据库,二进制很太,平增负担
    • 如果存进文件系统,那么ok,存在哪个机器上?
  • 图片/文件从哪里读取?

求有经验的大牛分享下

查看回复

回复 (4)

S
shuaishenk#1·8 年前

统一存到对象存储里,aws s3或阿里 oss

T
tao1991123#2·8 年前

图片和静态文件是推荐和代码分开存放的。 问题1: 存哪里 如果是想省事使用云存储服务 又拍云、七牛云、阿里云OSS都是做这个事的 价格挺便宜的,中小型公司适合这个。

如果你想自己试着搭建一下 可以试试 分布式文件系统(DFS) 开源的解决方案有Apache HDFS / FastDFS / Baidu BFS 后面两个有比较全的中文资料

问题2: 从哪里读取 如果是云存储服务,他们有专门的sdk读写方式和http读写接口 具体看服务商提供的文档 如果自建DFS系统,有专门的sdk,需要二次开发,具体做法自己找资料吧

问题3: 放在哪一个机器? 如果是云存储服务, 不需要你管呢 服务商提供给你的存储空间 如果自建DFS系统, 那就看你机器规模了 土豪一点就独立搞几台机器做个集群存储,穷一点就放在同一个机器上。 额外说一句: 如果机器有限到都被迫放到同一台机器上了,那么久不推荐自建dfs了,去买云存储服务吧。

F
fantasticsoul#3·8 年前

如果你是基于docker部署,基于k8s管理docker容器,可以存放到nfs

A
axetroy#4·8 年前

@tao1991123

非常感谢,很专业,受教了

参与回复
登录后即可参与回复。登录