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

应用服务器和静态文件存储服务器之间那种方式交换数据最好?

  •  
  •   alwayshere · 2018-06-20 08:28:21 +08:00 · 2463 次点击
    这是一个创建于 2338 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网站静态文件单独存放在一台服务器 A 上,应用逻辑( php )放在另一台服务器 B 上,现在 A 有时候也要去 B 的数据库查询一下,B 也要时时刻刻传输文件到 A 上,哪种方式能实现最快速的数据交互?

    10 条回复    2018-06-21 00:04:16 +08:00
    wangxiaoaer
        1
    wangxiaoaer  
       2018-06-20 08:34:34 +08:00
    如果理解无误的话,目前 A 需要去 B 的数据库查询,这个场景明显已经超出了静态文件服务器该做的事情,最好把这个业务放到 B 上面。

    B 需要上传文件到 A,这个我们目前还是通过文件共享的方式实现,也就是 A 上面某个文件夹开放给 B 共享,同时把这个共享文件夹里面的文件通过 web server 对外服务。
    opengps
        2
    opengps  
       2018-06-20 08:53:18 +08:00
    你这情况,A 不是静态呀,能否改造下 A ?查询部分拿走放到 B 服务器上
    alwayshere
        3
    alwayshere  
    OP
       2018-06-20 08:56:15 +08:00
    @opengps A 内存 16G,感觉做纯静态服务器有点浪费内存,所以偶尔还是跑个任务之类的
    opengps
        4
    opengps  
       2018-06-20 08:57:41 +08:00
    @alwayshere 你的机器 AB 内网不互通吗?内网互通速度应该差不了多少了
    sampeng
        5
    sampeng  
       2018-06-20 09:55:05 +08:00 via iPhone
    nfs 应该够用
    wenzhoou
        6
    wenzhoou  
       2018-06-20 11:53:58 +08:00 via Android
    内存大才是做纯静态的优势。文件都放到内存里头缓冲起来。
    leopku
        7
    leopku  
       2018-06-20 14:34:12 +08:00
    折腾过 N 多架构之后,现在觉得(仿)S3 的是最不折腾的
    openbsd
        8
    openbsd  
       2018-06-20 14:35:05 +08:00
    A 为什么要去访问 B ?
    a7a2
        9
    a7a2  
       2018-06-20 15:06:33 +08:00
    数据库配置成主主同步

    文件也使用 Sersync 实现实时同步(随变化而同步)

    php 也是要把另外一台用上

    自己根据 2 机器的实际情况选适用的灾难转移,例如 dns、nginx、lvs 等方式

    这样就可以避免单机故障
    msg7086
        10
    msg7086  
       2018-06-21 00:04:16 +08:00
    AB 走 API 互联啊。传输文件可以用 NFS。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5137 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:13 · PVG 09:13 · LAX 17:13 · JFK 20:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.