一、为什么要搭建fastdfs集群?
1、分布式文件存储就很多产品,现在这里用免费版的fastdfs,但是需要配置,就比较麻烦。有那种比较简单的也比较豪华的,拿来就直接使用,但是比较贵。
2、fastdfs是由c语言实现的开源轻量级分布式文件系统,解决了大数据存储和读写负载均衡等问题,适合存储4kb-500mb之间的小文件(图片,音视频文件等等),该软件的作者是阿里巴巴的大牛,叫庆余写的,开源免费的。
3、这里的实现方式:nginx和fastdfs
4、可以把图片或者音视频存储到fastdfs的服务器上,但是这个fastdfs服务器不提供web的http协议访问,所以这里还要用到nginx服务器(http协议),通过这个Nginx服务器把图片显示到前端页面。
5、在多个客户端上传或者下载图片存储服务器的时候,高并发的时候,10w个客户端同时请求,单机的存储服务器的io磁盘的能力是有限的,最快就100兆/s,就显得单机服务器应付不过来了。

6、所以现在就要把单机服务器改成多机,搭建一个集群,让集群去提供服务。

实在不行,再加缓存服务器,再不行就加限流,解决高并发问题。
二、讲解fastdfs实现原理
1、fastdfs分为两部分:tracker[ˈtrækə®](跟踪器)和storage[ˈstɔːrɪdʒ](存储)
2、storage定时向tracker上传自己的存储状态
3、用户访问首先请求的是track服务,track返回可用的storage的ip和端口,用户再根据ip和端口进行上传文件,最后storage返回路径和文件名。
4、由于可以得出结论:计算机的所有难题,解决难题的都只有一个原则,就是建立一个中间层,就像这个tracker中间层一样。

三、大型的视频网站,则需要搭建tracker集群
1、单纯的电商系统,只需要搭建storage集群就够了。
即:1个tracker、1个nginx、多个storage!
这个配置比较简单!

2、但是如果像那种大型的视频网站(比如爱奇艺、优酷、抖音等),需要很多storage来存储文件,则要加配多个tracker,搭建tracker集群!
问题又来了!这里要对应多个tracker,这里只使用1个nginx代理http协议服务器是显然不够的。所以就要nginx服务器做tracker的负载均衡,一个nginx负载3-4个tracker
当然配置这些东西远复杂的多,这里只是简单描述!

本文探讨了为何选择FastDFS集群解决大规模文件存储问题,详细介绍了FastDFS的工作原理,包括tracker与storage组件间的交互机制,以及如何通过Nginx解决高并发访问需求。
500

被折叠的 条评论
为什么被折叠?



