关于tfs与FastDFS的各种资料已经很多了,各自也都有一些用户群。架构设计的什么的就不提了。主要从用户体验上来对比一下:
TFS体验不如FastDFS
TFS稍显复杂,尤其是在稍微高版本gcc下就编译通不过,如centos 6下(需要稍微修改下源码)。对于一个大公司的产品实在是丢人。TFS nginx模块代码快2年没有更新,在稍微高点的nginx版本下编译报错(如nginx1.6),同样,丢人。
FastDFS在新版本编译没有任何问题,包括gcc 4.8.2下,已在centos 7.0测试正常。
二者基本相当。都提供了比较多的客户端。
TFS nginx模块提供REST API使用更方便。
而FastDFS nginx模块写的比较简单,只支持http下载(get),上传需要用相应客户端。
TFS比FastDFS多。
TFS nameserver启动后,CPU使用率在35%左右(1core),居高不下,且启动时需要很多数百M内存,否则启动不起来;启动后内存占用降低,但CPU占用太高。
FastDFS tracker需要资源很少,storage启动时候需要分配64M内存(内存占用大小可以设置max_connections*buff_size),启动后保持。
TFS采用了块,需要预先分配所以存储空间,不能动态的增加(不能参考数据库表空间文件动态增长?)。这个太占用磁盘。
FastDFS没有块的概念,不存在一开始空间占用高问题。
FastDFS 的fileID:组名(可选)+磁盘+二级目录+文件名
如xxx.com/M00/00/00/aIOW-1RWQyuAfSjjAAvWFkcZHjA219_big.jpg
TFS的fileID: v1/tfs/文件名。
如xxx.com/v1/tfs/T11yDTByJT1RCvBVdK.PNG
TFS的更简洁。
从功能讲TFS功能更多,角色更多,也更复杂,但在体验上还有不少进步空间。FastDFS则是轻巧。
以上就是关于“tfs与FastDFS对比”的介绍,如果您想了解更多相关知识,可以关注一下极悦的Java极悦在线学习,里面的课程内容详细,从入门到精通,希望对大家的学习能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习