2013-05-11 127 views
0

我有這個項目我正在爲已經3年+。它很大。我正在考慮將來的更新/情景,並且正在完成最後的工作。平衡httpd和保存項目文件

我最近看了一遍淨入阿帕奇/網絡服務器守護程序的平衡,這給生活帶來與線程服務的文件,用於平衡目的,超過1臺服務器。

我的問題是,因爲我保存文件(影像)用我的項目中選擇文件夾的Linux機器:

當網頁從另一個輔助服務器(平衡)服務,並且用戶需要保存的圖片,他在哪裏保存它?我需要知道這一點,所以如果我結束了多個httpd服務器,我需要知道我的用戶保存的所有文件都是他們應該在的位置,所以應用程序將它們整齊地顯示出來。

回答

1

有很多解決方案,在這裏,根據預算,技能等,首先你的負載均衡軟件應具備的設施,以確保一個會話粘性,使您的用戶不會被切換到不同的服務器通過上傳中途,或選擇一臺服務器來處理所有的上傳。一旦圖像被上傳,你可以:(我只有使用Linux的經驗,當涉及到服務器,你沒有說哪個OS)

上上傳到CDN,如果本地副本死亡可能是下載它們都在一個去昂貴的說明,所以不一定是解決自身使用

最好不要使用一個NFS份額(安裝在網絡上的圖像的目錄),猶如一臺服務器出現故障無圖像提供最好的情況下,這意味着,最糟糕的是拖動其他服務器來與它(有這種情況發生!)

DB更新

很久以前我已經打折了存儲blob,因爲在我需要在多臺服務器上有圖像的項目中,我們有大約6種尺寸(文章,畫廊,列表頁面,手機等)的肖像,風景和方形版本,但現在我想到它。我可能會考慮只存儲在數據庫中的最大/原件及產生與緩存的需求等,這可能工作得非常好

+0

感謝您的答覆伴侶。我會考慮你的所有建議。它讓我覺得在我的innoDB表中存儲BLOB(我所有的表都是innoDB),會讓我的生活變得更輕鬆。我必須在某些表格(大,小,拇指,索引)中每行存儲2,3或4張圖像,所以我會考慮Blob存儲,也許這將消除所有的麻煩。 – 2013-05-11 18:38:14

+0

不客氣,這讓我想,在我的回答中增加了關於Blob的一些想法,但不知道它是否適用於您 – CodeMonkey 2013-05-12 12:52:22