0.最佳实战 - sjqzhang/go-fastdfs GitHub Wiki
零、在使用和研究前,先用内置的上传页面进行上传操作,并可以在页面中调整上传参数,观察返回值,接着修改配置文件,再观察其行为的变化....
一、如果是海量存储,不要开启文件token认证功能,减少性能开消。
二、尽量用标准上传,上传后业务保存path,在业务用的时候再并接上域名(方便迁移扩展等)。
三、如果使用断点续传,上传后一定要用文件id置换成path存储(如何置换看QA/API文档),为后面访问减少性能开消。
四、尽量使用物理服务器部署,因为主要压力或性能来自于IO
五、线上业务尽量使用nginx+gofastdfs部署架构(均衡算法使用ip_hash),以满足后面的功能扩展性(nginx+lua)。
六、线上环境最好不要使用容器部署,容器适用于测试和功能验证。
总结:业务保存的文件的path,减少后期访问路径转换带来开消,文件访问权限由业务来完成,这样性能最好,通用性强(可直接其它web服务器)。
重要提醒:如果开启小文件合并功能,后期是无法删除小文件的。
上传结果说明
请使用md5,path,scene字段,其它是为了兼容老的线上系统添加的,以后有可能去掉。
建议不要对文件进行删除,因为使用了去重,同一文件使用了同一个文件路径,业务A删除,会引发业务B访问不了。