美文网首页架构大神带我打代码Tomcat
nginx 一二事(1) - 简单图片服务器解决方案

nginx 一二事(1) - 简单图片服务器解决方案

作者: 风间影月 | 来源:发表于2016-04-16 15:55 被阅读1206次

    最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的

    今天再这里简单讲一下上传图片以及图片服务器的大致理念

    如果是个人项目或者企业小项目,仅仅只有十来号人使用的小项目,可以使用如下方案:

    用户访问系统,使用上传图片功能,那么图片就上传到你的当前项目所在的tomcat服务器上,在/image下,上传成功后用户可以直接访问

    http://ip:port/project/images/xxx.jpg

    这样做在用户少的时候是没有问题的

    当你的企业发展起来了,业务量增多了,使用的这个项目开始大起来了,发现系统速度变慢了,那么你就考虑到集群了对吧

    那么好,假设你增加了一个tomcatB,性能提高了一点,图片也成功上传了,做了负载均衡,假设图片上传的了tomcatA(用户是不知道的)

    第二次访问的时候(先不考虑session粘性不粘性的问题,假设是共享的),用户访问到了tomcatB,图片没有了,是个大叉叉,

    我的天呐!发什么什么事了,明明刚刚上传的图片没有了,

    再刷新一下,欸!又有了?

    这是什么情况呢?

    后台知道咋回事,但是用户不知道啊!!!

    那么解决方案是这样的,tomcatA和B上传至图片服务器,这用户请求的时候只访问图片服务器的路径,这样就没问题了

    有人会问图片服务器用什么来搭建呢?

    tomcat?可以,但是tomcat主要处理jsp比较好,图片文件是静态资源,处理起来性能一般般

    Apache?可以,纯C语言开发的,没问题,但是还不够好

    nginx?对了,这个是目前比较流行的一个反向代理服务器,我在之前的文章有简单介绍过(http://www.cnblogs.com/leechenxiang/p/5327086.html

    理论的单台机子并发能达到5万,非常的叼,实际测试是2w左右

    安装如下的方案去做,那么图片服务器就问题不大了,

    当然,图片上传后,需要把图片的路径地址保存到数据库啊~~

    我曾经见到过一套电子商务系统的图片上传是采用方案是类似1的,这么做没问题,

    但是呢,图片居然上传到他喵的MySQL某个表的某个字段中的,你妹啊,我的天呐!

    怎么可以这么做,何况数据库没有分库分表分区建索引,好吧,这也是我的一个吐槽点,谁叫我曾经参与过呢

    好吧,说了这么多都是理论,接下来的文章会具体说说怎么做。

    尚自习 | 程序员的进阶平台 itzixi.com

    微信公众号:BeJavaGod Java技术交流群

    相关文章

      网友评论

      本文标题:nginx 一二事(1) - 简单图片服务器解决方案

      本文链接:https://www.haomeiwen.com/subject/otfolttx.html