zoukankan      html  css  js  c++  java
  • 分布式文件系统优化

    据我了解不少中小型文件系统都是通过数据库实现的,数据库作为备份角色,二进制文件需要转出来应用,具体流程如下:

    原用户上传图片流程图

    后来我了解到,当时怎么设计是因为站点刚刚起来的时候,业务量不是很大,而且这种设计有几个优点

    • 数据可以永久保存;
    • 数据迁移方便;

    所以在当时这样的设计已经符合了业务的需求和系统的性能需求,但是现在随着站点业务量的增加,DBA经常抱怨图片存储到数据库中的设计方式严重的消耗了数据库的性能,只是做架构的同志们没有听到。既然性能有损耗也不便于管理,其实这种优化工作还是值得去做的。

    首先,面临的问题就是怎么去优化?竟然放在数据库不可能的话,那么就放到硬盘上。单独上传到各个Web服务器本地也是不现实的,因为一般这种级别的 Web服务器都是做集群的,那么只有做分布式的文件系统了,对于现在的系统架构进行拆分,将文件系统和Web的服务,database的服务分开,单独作为一个服务对系统进行支持,然后暴露接口供系统调用,以上传图片。架构图如下:

    截图00

    这样的设计,一方面可以缓解database的压力,另一方面图片的管理也变得更加的容易。对于永久保存,我们可以采取刻盘等外存储器的方法进行。

  • 相关阅读:
    HTTP客户端识别与Cookie机制
    javascript模式之模块模式
    js类式继承模式学习心得
    关于html自闭合标签要不要加空格和斜杠的问题?
    分享两件有趣的事情
    PS Web切图界面设置
    这是什么
    关于前后端分离我的理解
    模块化方案esl以及amd的依赖方式
    node 内存管理相关
  • 原文地址:https://www.cnblogs.com/Seapeak/p/1611024.html
Copyright © 2011-2022 走看看