gpt4 book ai didi

分片服务器配置中的 PHP 文件上传

转载 作者:可可西里 更新时间:2023-11-01 13:50:51 26 4
gpt4 key购买 nike

我们使用多个服务器来处理传入的 Web 请求,这些请求以循环方式进行负载平衡。我遇到了一个我不确定如何解决的问题。

我正在使用 AJAX ( qqFileUploader) 上传文件。默认情况下,它进入 /tmp 文件夹,这很好。问题是当我尝试检索该文件时,该检索请求由下一个没有有我上传的文件的服务器处理。如果我一遍又一遍地重复请求,它最终会到达存储文件的原始服务器(通过循环负载平衡),然后我可以打开它。显然这不是一个好的解决方案。

这是本质上代码:http://jsfiddle.net/Ap27Z/ .为了简洁起见,我删除了其中的一些内容。您将看到 uploader 对象调用 PHP 文件来执行文件上传,然后在文件上传完成后,对脚本进行另一个 AJAX 调用以处理 .csv 文件。这就是进程在循环中迷失方向的地方。

我在这里读了几个关于将文件上传到内存的问题,目前看来基本上是不可行的。我可以使用其他选项来上传文件并在同一个请求中处理所有文件吗?

最佳答案

此类问题的经典解决方案是在负载均衡器上使用粘性 session 。这对您来说可能不是一个好的解决方案,因为它会修改您的整个设置来解决一个小问题。

我建议为每台机器添加一个子域前缀,例如上传到 www.example.com,然后为每个服务器分配一个额外的子域 www1.example.com、www2.example.com,它们总是直接传递到该服务器,而不是循环 DNS。

作为成功结果的一部分,您可以传回指向确切服务器的服务器名称,而不是负载平衡的名称,然后所有引用上传数据的后续 Ajax 调用都使用该服务器特定的域名,而不是通用的负载平衡域名。

Is there another option I can use to upload a file and handle it all within the same request?

当然可以,为什么不呢?处理数据发布的代码可以做任何你想让它做的事。

关于分片服务器配置中的 PHP 文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11543456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com