如何擴展圖像託管/服務?

如何擴展圖像託管/服務?

我問了這個問題堆疊溢位有人建議我在這裡嘗試一下:

我正在建立一個網站,用戶可以在其中上傳照片,我還將上傳的照片轉換為縮圖。

提前規劃,如果網站變得流行,我該如何擴展它,以便圖像(原始圖像和縮圖)可以儲存在多個伺服器中並由多個伺服器提供服務?也許是一個集群?有沒有開源軟體可以幫助我解決這個問題?

謝謝。

答案1

為了以後有好的選擇,您可以做的最簡單的事情就是以這樣的方式編寫軟體,即圖像在修改時永遠不會保持相同的文件名 - 對圖像的更改必須始終更改文件名。這意味著您可以透過自己的快取或內容交付網路設定非常長的快取生命週期,這將大大減少您所需的磁碟讀取次數。 (如果可能存在圖像無法讀取的情況,您可能需要某種機制來立即從快取或 CDN 中刷新特定文件徹底刪除。

若要允許水平縮放,請將影像分成大量群組(100 個或更多),並在每個影像的路徑前加上它所在的群組。會提供服務到目前為止,使用負載平衡器根據映像群組將流量引導到不同的伺服器將相當容易。我不會對圖像使用叢集檔案系統,因為它增加了額外的複雜性,並且使用多個伺服器和一些負載平衡器規則來分散負載可能更容易。

相關內容