服务器集群后如何解决文件共享问题(如用户上传图片问题)

风_清 发布于 2017/01/16 15:32
阅读 1K+
收藏 2
PHP
用户在客户端经过代理服务器转发请求后随机分配到已有的三台服务器A,B,C上,用户第一次访问被分到A服务器,在A服务器上上传了用户头像,第二次访问时被分到了B服务器,但是B服务器上没有用户图像,这样该怎么解决文件不能共享的问题。
加载中
2
炒股
炒股

1.简单的每台服务器挂载同一个NFS文件共享目录(没钱这种)

2.fastdfs 分布式文件存储,要自己搭建自己维护(没钱,有技术这种)

3.用第三方,七牛、又拍云、阿里云OSS等(有钱这种)

Feng_Yu
Feng_Yu
第三方量比较少的话其实也没多贵,也不算贵族的奢侈品。
1
1
亦可塞艇
亦可塞艇
现在各种云存储服务
1
slimina
slimina
各种云存储,如七牛、又拍云。自建可以考虑 fastdfs。如果文件量小,且小文件。可以考虑 mongodb或nfs
1
KobeBryantlove
KobeBryantlove

1、fastdfs 分布式文件存储  

2、图简单直接用第三方平台吧 七牛云存储

1
大洋的顶端
大洋的顶端

  你上传后,返回一个图片的HTTP://www.xxxxx.jpg地址就行了。无论在什么服务器 也能访问到.

比如CDN http://wwwXXXX/A/XXX.jpg  http://wwwXXXX/B/XXX.jpg  

大洋的顶端
大洋的顶端
回复 @sphp : 脑子是活的啊 记录的是图片名称 XXX.jpg 前缀可以自己写在代码里面啊
风_清
但是这样地址就等于固定了啊,日后地址更换会不会麻烦啊
1
Feng_Yu
Feng_Yu
办法多了,比如共享存储(如NFS,但是稳定性太依赖于网络了),双向同步(Unison+inotify),专用的文件存储服务器等等(资源比较充裕的时候可以考虑,可以自己搭建,也可以使用七牛、阿里OSS等这样第三方存储)
0
亦可塞艇
亦可塞艇
用专用的图片服务器呀 . 
不日小鸡
回复 @sphp : 你猜
风_清
意思是说无论那个用户在那台服务器上传图片都传到图片服务器,加载图片的时候都从图片服务器加载,应用服务器只放程序对吗
0
kakai
kakai
你这种情况应该用独立的文件服务器,而不应该把文件服务器和业务服务器放在一起。独立的文件服务器建议用CDN文件分发系统,可实现就近加速访问
0x0001
0x0001
回复 @sphp : 最终还是会回到这个问题上,图片服务器容量不足怎么办, 加服务器还是加磁盘?, 单击网络达到上限怎么办, 最终还是会回到加机器, 然后又是如何访问的问题了
风_清
嗯嗯,我之前也想到这样的方案,不过就是多需要一台服务器,我是想看看还有没有别的方案,估计也就这个方案最好了
0
风沙
风沙
实在没招就把图片地址存上HTTP://xxx/xxx.jpg吧。。。
返回顶部
顶部