我们有两个apache / php web服务器与squid页面缓存代理负载均衡。鱿鱼缓存在图像提交页面上无效。我们有一个用户可以提交图像的表单。
这是一个两步的过程。他们首先上传图片。第二步,他们可以输入有关图像和图像的详细信息,然后在提交图像详细信息后移动到正确的文件夹。
问题是当流量很高时,第二步可能是从不同的服务器提供的,然后是带有上传图像的服务器。因此,第二步可能无法找到上传的图像,上传无法完成。
我们在这些服务器上有数千个图像文件,因此它们之间的同步很慢。无论如何,我们是否可以强制特定页面始终从特定服务器提供服务?基本上是为了绕过负载均衡功能。
答案 0 :(得分:1)
有一些解决方案。
我个人会选择选项1,因为你仍然可以获得循环负载平衡,但是每个连接都会粘在它最初连接的主机上。
选项2的好处仍然是平衡请求,但缺点是NFS共享是单点故障。
如果使用哈希表,如果数据库服务器上没有足够的ram,则选项3可能会导致问题。
答案 1 :(得分:0)
我可以看到Geoffrey回答的两个选项
1.将图像上传到通过rsync同步的上传目录
然后#图像会小得多,它们会更快地同步
完成整个过程后,您可以将图像移动到正确的文件夹中
2.数据库:不存储图像本身,而是存储图像的网址,因此您始终可以知道哪个服务器正在保存它,可以访问它。
只有两个选项来阅读Geogrey的答案并寻找与此主题相关的信息。