zoukankan      html  css  js  c++  java
  • 某大型网站图片服务器改造方案

    1、目前网站图片服务器结构如下:

    2、现有结构说明
    2.1 mount目录说明
    所有前端web服务器都通过nfs挂载3台图片服务器export出来的目录,以接收web服务器PHP进程写入的图片。然后image1挂载另外两台图片服务器的export目录到本地给nginx对外提供访问。
    2.2 用户上传图片说明
    用户通过Internet访问页面提交上传请求post到web服务器,web服务器处理完图片后由php拷贝到对应的mount本地目录。
    2.3 用户访问图片说明
    用户访问图片时,通过image1这台图片服务器来访问通过2.1里边说明的目录以访问对应目录里边的图片。

    3、现有结构的问题
    3.1 现有结构过度依赖nfs,当图片服务器的nfs服务器有问题时,可能影响到前端web服务器。
    3.2 现有对外服务的图片服务器只有一台,这个服务器是个单点。
    3.3 服务器之间的依赖过多,而且横向扩展余地不够。
    3.4 web服务器上传热点不可控,造成现有图片服务器空间占用不均衡。
    3.5 nfs方式对于拥有web服务器的密码的人来说,可以随意修改nfs里边的内容,安全级别不高。
    4、网站图片服务器新结构

    5、新结构说明
    5.1 用户上传流程
    用户上传图片到web服务器后,web服务器处理完图片,然后再由前端web服务器把图片post到对应设置ID的图片服务器,图片服务器php接收到 post过来的图片,然后把图片写入到本地磁盘并返回对应成功状态码。前端web服务器根据返回状态码决定对应操作,如果成功的话,把图片服务器对应的 ID和对应图片路径写入DB数据库。
    5.2 用户访问流程
    用户访问页面的时候,根据请求从数据库读取图片服务器ID和图片的URL,拼写成对应URL到对应图片服务器去访问图片。
    5.3 上传控制
    我们需要调节上传时,只需要修改web服务器post到的目的图片服务器的ID,就可以控制上传到哪台图片服务器。
    6、新结构优点
    6.1 整个结构中无任何nfs的依赖关系,同时也不会因为图片服务器的故障影响到web服务器。
    6.2 对外服务的图片服务器不再是单点,而且单台图片服务器故障也不会导致所有图片受影响。
    6.3 图片服务器之间无任何依赖关系,图片服务器的横向扩展空间很大。
    6.4 能随时调节上传热点,均衡图片服务器空间。
    6.5 能随时规避故障服务器,从而不会影响到前端上传。
    6.6 改造后的图片服务器中文件对于web服务器完全不可见,提高了安全级别。

    延伸:

    将本地图片或者网上图片用post方式上传到图片服务器  http://blog.csdn.net/guguojin/article/details/6921116

    http://blog.csdn.net/guguojin/article/details/6921116

    撰于:http://blog.csdn.net/guguojin/article/details/6921108

    http://www.oschina.net/question/260828_65688

  • 相关阅读:
    Golang手动分页,按等份拆分数据
    GORM无法映射到结构体上
    VSCODE GOLANG运行多个服务
    解决,MAVEN
    Properties配置文件常见错误写法以及转义字符说明
    Pentaho Data Integration (PDI/Kettle)与Java版本支持关系
    MYSQL之读写分离搭建方案
    Windows下创建软件快速启动命令
    Sonar的一些使用总结
    使用SVG Path绘图
  • 原文地址:https://www.cnblogs.com/Alight/p/3306624.html
Copyright © 2011-2022 走看看