抽出午休时间写个自己觉得挺实用的东西,希望能帮到需要的童鞋。
普通工程(单机)会把一些数据放在工程里面,这样做并不是不可以,但对以后扩展维护或者工程越来越大的时候会出现意想不到的问题。
就个人理解,先来说数据放在工程里的问题,当系统扩大后,会出现高并发压力等一系列问题,有人会用添加服务器做成初步集群以减轻服务器的压力。这时就需要考虑到数据的问题了。
说一个例子,一般集群环境会有负载均衡的功能,如nginx,zookeeper都能做到。负载均衡能使服务器均衡被访问,这样就解决了单机出现的压力了。但是,上面说到数据放在工程里,当一个用户访问服务器做上传图片功能,假设现在有A,B两台服务器,这个用户访问的功能功能被转发到了A服务器,那么工程会把图片存到工程上,上传完毕之后他想访问查看自己刚上传的图片。问题出来了,当他访问的时候nginx是根据服务器压力来转发服务器的,而图片数据只在A服务器。那么当请求被转发到B服务器的时候,B服务器没有数据,那用户就查不到数据了。这样会出现一种情况,用户刷新页面有时能看到有时看不到。
有了上面的问题,就可以需要想一种方法解决。
可想而知,只要工程共享同一个存放数据的地方就可以了。
那么便可以使用FTP服务器了,FTP服务器,是在互联网上提供存储空间的计算机,具体介绍可百度了解。把它当做存放数据的地方就可以了。
因时间问题,自己本地没有安装FTP服务器,用的是公司的,所以没法做上传数据,只能演示个下载数据。不过道理相同,主要有这个思想。手打了这么多文字该上代码了。
因是正在使用的服务器,IP账号密码没填写上去。
这里我下载了三个文件,前提是FTP服务器上要有这些数据!
说了这么多,其实就想说明一下上面提出的问题以及解决,分享一下。
好了,吃饭去。。。