2010-04-24 54 views
1

想知道常見的解決方案是什麼。我們有兩臺負載均衡的Web服務器和一臺保存我們映像的獨立服務器。我們目前的過程是,用戶直接將圖像上傳到網絡服務器(它們連接到的任何網絡服務器),然後我們將作業輸入到我們的數據庫中。另一個進程每隔幾分鐘檢查一次映像作業,並將映像從Web服務器複製到映像服務器。圖像直接從客戶端上傳到遠程服務器? Spring/Tomcat

從用戶上傳到可見時間不理想的延遲。我們可以通過循環來檢查圖像作業的頻率,但理想情況下,我希望用戶上傳的圖像直接轉到圖像服務器,而不是複製兩次。這應該怎麼做?春天有什麼來解決這個問題嗎?似乎大多數人會如何處理我認爲的CDN?

我想限制它需要爲用戶上傳,請訪問我們網站上的圖片

回答

0

只需讓webapp直接訪問圖像服務器,以便它可以立即將圖像保存在圖像服務器上。我不明白這是怎麼形成的問題。

+0

「直接訪問圖像服務器」你是什麼意思?你怎麼會字面上做到這一點與Apache/Tomcat/Java的? – Prem 2010-04-25 00:42:14

+0

通過網絡磁盤映射,您可以像訪問本地磁盤文件系統一樣訪問它,或通過在映像服務器計算機(FileZilla?)上安裝FTP服務器並使用FTP客戶端發送映像(Apache Commons Net FTPClient?)。 – BalusC 2010-04-25 01:58:50

0

你可以插入上上傳圖片到你的數據庫的時候......。當圖像被請求並且它不在文件系統中時,您可以從數據庫傳送數據並同時將其同步到文件系統。如果你不想保存數據庫中的所有圖像,那麼你也可以在同一步驟中從那裏刪除它。

+0

嗯,似乎對於所有圖片請求來說會少一些。它將不得不每次檢查文件是否在磁盤上(或檢查數據庫),然後決定要做什麼。在請求時將3 MB文件同步不會很好地擴展嗎? – Prem 2010-04-24 17:40:01

+0

@Prem:我們有一個像Apache這樣的解決方案。當原始文件不存在時,Apache提供了一種指定替代URL的可能性。與通過互聯網傳輸數據的時間相比,從數據庫傳輸只需要一次,並且需要在本地網絡中複製的時間可能不明顯。 – Dominik 2010-04-24 17:54:54

+0

嗯,我們的機器被託管,所以傳輸仍然有一些延遲.. – Prem 2010-04-25 00:43:43

相關問題