1.为什么使用图片服务器:一般来说.我们上传的图片都是保存在tomcat的webapps下的images下面,但是当访问量很大的时候,我们就需要搭建tomcat集群,那么,你在tomcat1中存的图片,当访问的是其它的tomcat时就不能显示,用户体验不好.所以需要一个图片服务器,将上传到tomcat中的图片全部保存在图片服务器中.这样就不会出现图片显示不出来的问题.图片服务器会提供一个http服务,用户直接可以通过http服务获得图片,而不是通过tomcat再通过图片服务器获得图片.这样简化了路径.更简单.
2.为什么使用FastDFS:它是一个开源的轻量级分布式文件系统,它对文件进行管理.可以实现图片服务器的扩容,图片服务器的空间再大也会有不够用的一天,如果搭建集群的话,又会出现如果访问了其他的图片服务器就不能获取你存的图片服务器的图片,而FastDFS的作用就是可以分配图片的存储和访问,相当于是管理图片服务器的集群,就算搭建很多图片服务器也不会出现不显示图片的情况.而且另外一个好处是,就算有一台图片服务器出了故障,也可以分配其他的图片服务器继续工作.
3.FastDFS工作原理:FastDFS架构包括 Tracker server和Storage server.Tracker是负责负载均衡和调度的,storage是负责文件存储的,这里相当于图片服务器,每一个storage会定时向tracker发送状态信息表示他还在正常工作,一旦长时间没有发送就表明他挂了.当有上传请求过来时,tracker接收到请求,根据storage发送过来的状态信息选择一个不太忙剩余容量足够的storage,将它的IP和端口号返回给请求的对象,请求者就直接根据IP和端口找到storage进行存储并写入到磁盘,将生成的file_id(路径信息和文件名)返回给请求者,然后请求者直接将文件信息存到数据库就可以了.
文件上传流程
文件下载流程
|
|