免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: happy_fish100
打印 上一主题 下一主题

[FastDFS] FastDFS分布式文件系统应用交流!赢取数据库技术大会门票!(获奖名单公布) [复制链接]

论坛徽章:
0
61 [报告]
发表于 2012-03-08 09:56 |只看该作者
老大,能说下fastdfs与hdfs的区别吗?

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
62 [报告]
发表于 2012-03-08 20:46 |只看该作者
本帖最后由 happy_fish100 于 2012-03-08 20:47 编辑

回复 61# xiaodi553

FastDFS为互联网应用量身定做,适合在线存储服务。
HDFS为分布式计算量身定做,适合离线处理的场合,适合和hadoop配合使用。

论坛徽章:
0
63 [报告]
发表于 2012-03-10 16:02 |只看该作者
在投资成本、冗余架构、信息安全方面有优势吗?

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
64 [报告]
发表于 2012-03-10 16:09 |只看该作者
本帖最后由 happy_fish100 于 2012-03-10 16:10 编辑

回复 63# jinmaodao

投资成本:较低,可以使用廉价的SATA硬盘,推荐单盘挂载方式,无需使用盘柜,也不需要做RAID
冗余架构:FastDFS不存在单点问题,tracker server完全对等,可以有多台。
信息安全:HTTP下载方式支持带时效token机制。

论坛徽章:
0
65 [报告]
发表于 2012-03-13 09:50 |只看该作者
happy_fish100 发表于 2012-03-08 20:46
回复 61# xiaodi553

FastDFS为互联网应用量身定做,适合在线存储服务。


多谢,文件计算能举个例子吗?

论坛徽章:
0
66 [报告]
发表于 2012-03-13 23:34 |只看该作者
首先感谢余大的FastDFS,带给了我们一个符合创业公司的分布式存储解决方案。通过使用、学习FastDFS,我也提提我自己的理解,希望朋友们一起技术交流~

1.
FastDFS属于IO密集型操作,瓶颈往往会在磁盘IO;
FastDFS在读写小文件时,往往属于磁盘随机读写,由于磁盘性能受限,这点往往是瓶颈所在。建议可以考虑Big Table、LevelDB实现的思路,将随机写改为顺序写,这样可以有效利用磁盘顺序操作相对高效的提点。


2.
FastDFS使用libevent承接IO复用。client上传文件数据,目前实现来看,会借助queue将数据由nio线程转交给dio线程,提交工作者线程进行磁盘写操作。

如果客户端比较多,这样按模分配到同样一个worker线程处理的客户端连接也可能多个,这样情况下,client都在上传数据,dio线程要不停的处理多个client连接的数据,磁盘不可避免会频繁寻道,这点有可能是性能的瓶颈。


3.
mongodb是每个连接一个独立线程进行处理请求,并且利用内存映射mmap机制避免读写高效。所以希望余大,考虑下FastDFS能从mongodb利用操作系统mmap机制这点完善下随机读写性能。


4.
建议FastDFS插件思想的引入,可以方便写第三方逻辑,类似nginx module
例如,集成memcached、redis等,其实很多情况下需要hack source code ,这样方便书写业务逻辑,更好的优化。storaged的代码包含了fdht client的代码,其实建议以hook的形式暴露一些函数指针,这样hack起来就方便很多。


5.
FastDFS client的完善,目前主要是php、c、java,可以支持更多client driver。不过,至于client的使用场景,感觉在提供REST风格的接口可能更通用些。实际使用过程,用户上传文件时,业务方面不可能直接暴露FastDFS client API 给用户的。


6.
文件下载,比较合适的模式是使用nginx module 或者 apache mod,但是需要php、java、python等等进行文件名的映射。业务系统应该不会直接暴露FastDFS存储文件名给用户,通常用户对原始文件时,还是依据原始文件名。呵呵,这点属于业务使用层次,FastDFS作为分布式文件系统,是不应该过于依赖业务,但是良好的调用接口对于推广FastDFS有积极作用。


文字没有整理,都是想到哪写到哪,见谅。最后,希望余大可以把FastDFS做成国人为之自豪的开源精品~,也希望更多技术爱好者加入FastDFS社区~

论坛徽章:
0
67 [报告]
发表于 2012-03-14 15:49 |只看该作者
制造企业PDM应用:可否增加文件传输中的事务(批量传送文件中保证完整性),带宽分时限制(如白天限制带宽,晚上不限),增加文件查找功能,组间文件同步(当文件在所访问的组之外时,自动启动组间文件同步)(企业应用:多个局域网,每个局域网放置一台文件缓存服务器),增加windows开发版等。

论坛徽章:
0
68 [报告]
发表于 2012-03-16 13:51 |只看该作者
最近一段时间再看fastdfs的代码,感觉理解内部原理的关键,在于里面status 状态机的转变过程。所以建议余大,在数据库大会上面,可以就
状态改变这块着重讲解下。


#define FDFS_STORAGE_STATUS_INIT          0
#define FDFS_STORAGE_STATUS_WAIT_SYNC          1
#define FDFS_STORAGE_STATUS_SYNCING          2
#define FDFS_STORAGE_STATUS_IP_CHANGED    3
#define FDFS_STORAGE_STATUS_DELETED          4
#define FDFS_STORAGE_STATUS_OFFLINE          5
#define FDFS_STORAGE_STATUS_ONLINE          6
#define FDFS_STORAGE_STATUS_ACTIVE          7
#define FDFS_STORAGE_STATUS_RECOVERY          9
#define FDFS_STORAGE_STATUS_NONE         99

论坛徽章:
0
69 [报告]
发表于 2012-03-16 16:29 |只看该作者
请教个问题,看到描述说是Tracker server可以有对等的多台,那么在一般使用中,客户端是如何选择到某个Tracker server的?如果客户端访问的那个Tracker server刚好挂了,这时候访问岂不是会失败?

论坛徽章:
0
70 [报告]
发表于 2012-03-16 17:34 |只看该作者
屋顶的袋熊 发表于 2012-03-16 16:29
请教个问题,看到描述说是Tracker server可以有对等的多台,那么在一般使用中,客户端是如何选择到某个Trac ...



----------------------

client 首先读取本地的配置文件,将配置的tracker servers 取出;然后依次连接tracker,如果第一个连接不成功,会接着连接第二个.....
连接上tracker后,可以向tracker查询相关storaged的信息,在查询信息的时候,网络出错,那么client函数返回失败。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP