V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
abcbuzhiming
V2EX  ›  编程

站点做动静分离,如何处理用户上传文件呢?

  •  
  •   abcbuzhiming · 2016-11-03 22:36:31 +08:00 · 3413 次点击
    这是一个创建于 2974 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司的站点是做微信服务的,最近客户量上来了,流量一下暴增,一台服务器撑不住了,经过分析日志,发现主要流量都是静态资源文件,图片, js , css 等。于是去阿里云开了 CDN 加速。并打算进一步把一台服务器拆分成两台,分别绑定不同域名,一台专门把动态处理程序,另外一条放纯静态资源并由 CDN 加速。让静态资源彻底不会干扰到服务器处理动态请求。一般的静态资源都很好迁移。但是有个问题是我公司服务器是允许用户上传文件的,主要是一些小的图片,音频,视频。分析流量发现这部分用户上传的图片才是流量的大头,但是要怎么做,才能让用户上传的时候,把文件上传到静态服务器上去呢?现在的困扰点在于,如果在静态服务器上专门部署一个处理上传的程序,由于这个程序无法判断 session (用户登录的时候在动态服务器上)。这就存在安全问题了。如果要动态服务器先接收文件再转发到静态服务器,这种做法不知道是否稳妥。可靠性不知道咋样。
    请高手指点
    6 条回复    2016-11-06 13:09:41 +08:00
    shoaly
        1
    shoaly  
       2016-11-03 22:53:58 +08:00   ❤️ 1
    阿里云上的最佳实践是 将用户上传的图片音频信息 放到 oss 上
    然后 静态资源对外的 url, 是通过 cdn->回源到 oss 上 获取
    xiaojj
        2
    xiaojj  
       2016-11-04 10:44:30 +08:00
    oss 有镜像模式
    abcbuzhiming
        3
    abcbuzhiming  
    OP
       2016-11-04 12:55:12 +08:00
    @shoaly 我公司暂时不希望用阿里云的 oss ,是打算把资源服务器的源服务器控制在自己手里
    shoaly
        4
    shoaly  
       2016-11-04 13:00:43 +08:00
    那就 自己搭建静态服务器吧, 然后 动态服务器 文件上传之后, 直接同步到 静态服务器那边
    相当于你做了一个 oss 服务器
    abcbuzhiming
        5
    abcbuzhiming  
    OP
       2016-11-04 21:15:13 +08:00
    @shoaly 我现在的意思就是,哪种方式同步比较好,因为我没找到比较好的方式
    shoaly
        6
    shoaly  
       2016-11-06 13:09:41 +08:00
    @abcbuzhiming rsync. 轻便好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3251 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:34 · PVG 20:34 · LAX 04:34 · JFK 07:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.