网站静态文件单独存放在一台服务器 A 上,应用逻辑( php )放在另一台服务器 B 上,现在 A 有时候也要去 B 的数据库查询一下,B 也要时时刻刻传输文件到 A 上,哪种方式能实现最快速的数据交互?
1
wangxiaoaer 2018-06-20 08:34:34 +08:00
如果理解无误的话,目前 A 需要去 B 的数据库查询,这个场景明显已经超出了静态文件服务器该做的事情,最好把这个业务放到 B 上面。
B 需要上传文件到 A,这个我们目前还是通过文件共享的方式实现,也就是 A 上面某个文件夹开放给 B 共享,同时把这个共享文件夹里面的文件通过 web server 对外服务。 |
2
opengps 2018-06-20 08:53:18 +08:00
你这情况,A 不是静态呀,能否改造下 A ?查询部分拿走放到 B 服务器上
|
3
alwayshere OP @opengps A 内存 16G,感觉做纯静态服务器有点浪费内存,所以偶尔还是跑个任务之类的
|
4
opengps 2018-06-20 08:57:41 +08:00
@alwayshere 你的机器 AB 内网不互通吗?内网互通速度应该差不了多少了
|
5
sampeng 2018-06-20 09:55:05 +08:00 via iPhone
nfs 应该够用
|
6
wenzhoou 2018-06-20 11:53:58 +08:00 via Android
内存大才是做纯静态的优势。文件都放到内存里头缓冲起来。
|
7
leopku 2018-06-20 14:34:12 +08:00
折腾过 N 多架构之后,现在觉得(仿)S3 的是最不折腾的
|
8
openbsd 2018-06-20 14:35:05 +08:00
A 为什么要去访问 B ?
|
9
a7a2 2018-06-20 15:06:33 +08:00
数据库配置成主主同步
文件也使用 Sersync 实现实时同步(随变化而同步) php 也是要把另外一台用上 自己根据 2 机器的实际情况选适用的灾难转移,例如 dns、nginx、lvs 等方式 这样就可以避免单机故障 |
10
msg7086 2018-06-21 00:04:16 +08:00
AB 走 API 互联啊。传输文件可以用 NFS。
|