场景
存在多个无状态的Web应用服务,支持多实例集群化部署(使用nginx作为反向代理)
在Web应用中存在图片文件上传功能
不能将图片文件直接保存到数据库中,数据库中只保存文件访问链接
问题
因为Web...应用服务是多实例集群化部署的,因此上传图片之后不能简单保存到本地,否则其他实例将无法访问上传之后的图片....图片上传之后不要通过Web应用来访问(像Tomcat这样的Servlet容器不擅长处理静态文件)
解决方案
图片如何存储
针对第一个问题,图片通过Web应用上传之后不能保存在本地,应该使用专门的图片服务器或者分布式文件系统进行存储...这里还存在一个疑问: Web应用接收到上传的图片文件之后如何保存到静态文件服务器或者集群文件系统呢?...其一, 如果图片文件存储在单独的文件服务器中时,Web应用接收到浏览器上传的图片之后可以通过NFS或者FTP协议将文件同步到图片服务器,但是可能存在同步出错或者延时的情况.当然,还可以开发一个简单的网络服务程序运行于图片服务器上