导读:最近,很少写博客了哈,呃,其实,我是个懒人。说说我写这个图片服务器的前因后果吧,我本来是不想写的,因为自己的水平在那儿了,写也写不明白,何必献丑呢???然后,本宝宝被Jimmy批评了,说我就不能多学点,让我搭个图片服务器,就知道去找运维的。好吧,刚好前两天有人问我为什么现在又要在项目里用Fastdfs,本宝宝似乎除了献丑,就只剩下献丑了!
这篇博客,先根据个人的理解和在项目中的使用情况,来回答上回问我为什么现在项目里用fastdfs的问题。
其实,是这样的。在公司的项目中,我们最开始,并没有什么独立的图片服务器,就简单粗暴的在项目中建立了个uploadImages的文件夹,然后统一上传到这个目录下,读取的时候,也是从这儿读。后来呢,我们开始在项目中整出了个独立的文件服务器FTP(看我以前写的博客就知道啦,那时候真用的是Nginx+ FTP),但是,现在呢,咱们用FastDFS了。到这儿的时候,有人就想不明白了,就问我,这是为啥呀???(Ps:本宝宝,很想抽他的,为啥总问我一些我其实也并不知道多少的问题呢?我本意在懒到天下无敌,却总有人督促我勤快勤快再勤快的思考,奈何呀)好了,接下来,就说说具体的应用情况吧!
一、无独立的图片服务器
我回想了一下,当时有上传下载图片的系统,是一个机关用的人事系统。说实在的,整个系统,就机关部门的大概10来个人用(别看就这10来个人,当时还给整出了并发的问题,加班调bug解决问题,回想起来都是泪,嘿嘿,姑娘我只加班了一个通宵,相对项目组的其他人来说,不算惨的)那时候,哪儿来的什么图片服务器,根本就没想着那么多。除了登陆系统的使用人员要上传头像,别的用户资料都不强制要求上传图片。那些打印的文件,都是拿照片往上面贴的。 所以,那个项目,就直接在WEB-INF下面,建立了一个静态资源访问的uploadImages文件夹,上传到那儿了。(我后来看了一下,整个上传的图片,还没有当时引入的EasyUI自带的图片多呢)
二、FTP
那天他是这么问我的,他说啊:你不觉得直接用springMVC那个框架,上传图片特别简单吗,为什么还要弄个图片服务器,还得搭服务器,还得弄一堆,麻烦! 好吧,刚被批评,然后搭完FastDFS服务器,做完图片上传的我,对此,竟无言以对。 真想吼他:当我闲的有病,行不行啊,大哥???
话说回来,当时第一次用到这个FTP文件服务器,应该是一个电商的项目。那时候,要用到图片的地方,就是用户头像,还有商品的图片。最开始的时候,也没有弄那个FTP,还是传到项目文件夹了,可是,在做集群,做负载均衡的时候,出问题了。图片传上去了,结果访问不到。具体怎么个情况呢,看本宝宝画个示意图(嘿嘿,每次画图,都得自我吐槽半分钟)
然后,就搭了个独立的文件系统FTP。
三、FastDFS
用到这个的时候,应该是那个云平台。当时用Nginx搭建集群,实现负载均衡来着。然后最开始也是用的FTP,后来才改成的FastDFS,其实,这个东西吧,说是业务成熟的需要,其实,也可以从名字上来说嘛。FastDFS是一个分布式文件服务系统,而FTP是单机独立的。这个,我也是只会用,说不明白了,详情还是看官方文档吧。不过从选取需求上来说,理解理解分布式,也就可以明白为什么要用它了吧(个人直觉,本来想从官网截几个图贴上来的,算啦)
四、总结
其实吧,这个东西,真没必要说哪个哪个就好了,根据业务需求,合适就好。等到业务发展了,再改吧。我是那种满足当下,有需求了再改的人。嗯,下篇博客,还是继续献丑写写搭建FastDfs的过程吧,毕竟还是被Jimmy批评指教了的,唉! 好吧,以后我有空都自己搭着,啥事儿都指着运维部门的人干,好像确实耦合度有点高!