- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C#.NET利用FastDFS打造分布式文件系统
【C#|.NET】利用FastDFS打造分布式文件系统
2012-01-09 11:17 by 熬夜的虫子, 2933 阅读, 15 评论, 收藏, 编辑关于分布式文件系统 之前已经写过一些随笔 不过没怎么用心 本篇详细的整理一下
背景海量存储、系统负载的迁移、服务器吞吐的瓶颈等等 让文件系统独立于业务系统 提高整个项目的扩展性以及可维护性目前主流的方案 MFS FASTDFS GFS LUSTRE HADOOP等等我选择的是FASTDFS 用一句广告语来说 “免费、快速、找得到”。FASTDFS的作者是淘宝的资深架构师余庆,很诙谐、很有爱!!!其他方案还没玩过 暂不评论。
简介
FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前官方提供了C、Java和PHP API为互联网应用量身定做,追求高性能和高扩展性,FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。特点:
分组存储,灵活简洁对等结构,不存在单点文件ID由FastDFS生成,作为文件访问凭证。FastDFS不需要传统的name server和流行的web server无缝衔接,FastDFS已提供apache和nginx扩展模块大中小文件均可以很好支持,支持海量小文件存储存储服务器上可以保存文件附加属性
名词解释:
Tracker Server:跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。在内存中记录集群中group和storage server的状态信息,是连接Client和Storage server的枢纽。 因为相关信息全部在内存中,Tracker server的性能非常高,一个较大的集群(比如上百个group)中有3台就足够了。?Storage Server:存储服务器,文件和文件属性(meta data)都保存到存储服务器上。
实践-服务端
系统:ubuntu
开发工具:vim
web服务:nginx
基于socket自定义通信协议
服务端的安装参考官方文档 有不懂的可以联系虫子 这里说下问题比较多的2个地方 一个是libevent的版本问题 另一个是ubuntu最新版本中对于libpthread等库文件的存放位置问题
安装完fastdfs以后 假设你的服务端程序安装在/usr/local目录?
我们会在bin目录下找到以下文件
storage服务器启动命令?/usr/local/bin/fdfs_storaged /FastDFS/conf/storage.conf
tracker服务器启动命令?/usr/local/bin/fdfs_trackerd /FastDFS/conf/tracker.conf我们运行monitor查看下配置信息
group count: 1
??
Group 1:
group name = test
free space = 5 GB
storage server count = 2
active server count = 2
storage_port = 23000
storage_http_port = 0
store path count = 1
subdir count per path= 3
current write server index = 0
??
????Host 1:
????????ip_addr = 39 (ubuntu)? ACTIVE
????????total storage = 9GB
????????free storage = 5GB
????????total_upload_count = 2
????????success_upload_count = 2
????????total_set_meta_count = 0
????????success_set_meta_count = 0
????????total_delete_count = 0
????????success_delete_count = 0
????????total_download_count = 0
????????success_download_count = 0
????????total_get_meta_count = 0
????????success_get_meta_count = 0
????????total_create_link_count = 0
????????success_create_link_count =
文档评论(0)