2014-01-14 31 views
0

在用戶上傳圖片和諸如image_title,user_id等文本數據的網站上(如社交網絡);使用Apache,PHP,MySQL ...在一臺服務器上上傳表格數據,在另一臺服務器上上傳表格數據

在提交的表格上,我想默認將所有圖像上傳到專用圖像服務器。我不確定最佳做法要做什麼...

它是否可以使表單在兩臺不同的服務器上發送數據?這是一個很好的做法嗎?我看到它在第二種形式提交時觸發submit()

我也可以在主站點的服務器上傳然後移動圖片但是這樣做會違背專用圖片服務器的目的,我也想從主站點中取消傳入的流量負載。

而不是兩種形式,首先上傳圖片,獲得「OK」回覆,然後提交文本數據是一種好的做法嗎?

我不喜歡亞馬遜S3這個,試過了,我的測試太慢了。

回答

0

我不會將提交分成兩個提交給不同的服務器。我認爲這不符合專用圖像服務器處理在不同服務器上的圖像上傳/驗證的目的。如果你需要一個專用的圖像服務器,我相信這是最常見的圖像服務器確實沒有什麼比通過HTTP提供靜態文件。 根據我的經驗,s3非常適合此目的。如果真的要慢下來,請看看雲前衛!另一種選擇是使用nginx或lighttp的獨立服務器,可能在前面加了一層清漆,該服務器針對提供靜態圖像文件進行了優化。

在嘗試將單個表單POST或甚至僅圖像POST的上傳/驗證分離到不同服務器之前,我寧願嘗試將整個服務擴展到多個服務器上。

+0

這個在不同服務器上的上傳應該是我縮放的開始;在此之後,我有MySQL數據庫,很容易將其移動到專用服務器並複製它,然後我只有幾個PHP文件,只與圖像服務器和數據庫服務器,這些PHP文件可以輕鬆地傳播多個服務器(可能通過DNS)。 – adrianTNT

1

有三個選項:

  1. 上傳表單和圖像分裂Ajax請求。也許如果您有兩臺不同的服務器(表單服務器,映像服務器),則需要在其中一臺服務器上使用跨域服務來重定向該流量。從客戶端的jquery/javascript ajax調用不同的服務器是不可能的。

  2. 實現了能夠接收(表格,圖像)和共享數據的服務。向前服務器到服務器1並在服務器2放置圖像

  3. 執行請求序列。公式到您的後端。如果回叫是OK,則通過例如發送圖像發送圖像。 cross_domain.php(見選項1)到您的專用圖像服務器..

恕我直言,沒有辦法不通過你的後臺流量重定向發送從客戶機到多個服務器的數據!

相關問題