我們使用多個服務器處理以循環方式進行負載平衡的傳入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