我们使用多个服务器处理以循环方式进行负载平衡的传入Web请求。我遇到了一个我不确定如何解决的问题。分片服务器配置中的PHP文件上传
使用AJAX(qqFileUploader),我正在上传文件。默认情况下它会进入/tmp文件夹,这很好。问题是,当我尝试检索该文件时,该检索请求被下一台服务器处理,其中没有有我上传的文件。如果我一再重复请求,它将最终到达存储文件的原始服务器(通过轮循负载均衡),然后我可以打开它。显然这不是一个好的解决方案。代码:http://jsfiddle.net/Ap27Z/。为了简洁,我删除了一些内容。您会看到上传器对象调用PHP文件进行文件上传,然后在文件上传完成后,另一个AJAX调用将处理该.csv文件的脚本。这是循环过程中迷失的地方。
我在这里读了几个关于上传文件到内存的问题,看起来它基本上不是现在可行的。是否有另一个选项可用于上传文件并在同一请求中处理所有文件?
为什么网页必须告诉服务器来处理它?你可以将文件变成数据库中的BLOB吗? – Pete 2012-07-18 14:25:43
您需要能够使用绝对名称引用每个服务器(即每个服务器都有自己的A记录),并且您需要在响应中返回单个服务器的名称,以便将文件上载到POST请求客户端 - 例如用cookie - 这样客户端可以在尝试检索文件时用绝对名称引用正确的服务器。 – DaveRandom 2012-07-18 14:25:44
出于兴趣,这是一个DNS循环或反向代理? – DaveRandom 2012-07-18 14:28:21