2014-02-07 108 views
0

在亞馬遜這個高流量的Web應用程序上有這個例子。我注意到他們正在使用S3作爲他們的內容交付方法。我想知道是否需要爲內容交付提供Web服務器,以及爲我的應用程序提供Web應用程序。我不明白他們爲什麼在圖表中有2個Web服務器和2個Web應用程序。Amazon AWS和S3存儲使用模型

什麼是建立一個通過S3和其他內容通過常規存儲來提供圖像和靜態內容的網站的最佳方式。

我最後一個問題是,我可以考慮將S3作爲主存儲,足夠可靠,我只能保留我的靜態內容,並且沒有正常存儲作爲備份?

Diagram from amazon

回答

0

這是一個非常普遍圖,具體示將取決於整個結構的細節而變化。儘管如此,我相信Web服務器代表了類似於Apache或Nginx的應用服務器,它代表Rails,Rack Server,Unicorn,Gunicorn,Django,Sinatra,Flask,Jetty,Tomcat等。在某些情況下您可以將Web Server和App Server合併在一起,例如使用python mod_wsgi部署Apache來運行您的Django應用程序。 (所以取決於架構)

什麼是建立一個網站,通過定期 存儲提供的圖像,並通過S3靜態 內容和內容的其餘部分的最佳途徑。

有不僅僅是指向您的動態內容到你的數據庫(SQL和NoSQL),並指向您的靜態文件到一個S3桶(圖像,CSS,jQuery代碼等),其他沒有真正最好的方法你也可以使用第三這取決於您的應用程序堆棧。例如,您可以使用django-storages模塊在Django中完成此操作。你可以爲Rails等其他應用程序棧找到類似的模塊。

我的最後一個問題是,我可以考慮S3作爲主存儲,可靠 不夠,我只能把我的靜態內容有和沒有 正常存儲作爲備份?

S3非常可靠,它們提供了99.999999999%的數據可靠性。如果您使用RRS(Reduced Redundancy Storage,簡化冗餘存儲),則會出現問題,但如果您想使用它,則可能需要將數據備份到非RRS存儲桶中。無論如何,如果它是極其重要的數據,那麼爲了以防萬一,您可以自由地將數據備份到其他地方。

請注意,圖中他們還建議您將CloudFront用於靜態文件,如果您的用戶將從不同的地理區域訪問您的應用程序,這一點尤其有用。

希望這會有所幫助。

+0

RE:S3可靠性。請注意,S3的可靠性就像RAID,而RAID不是備份。爲防止意外刪除/覆蓋文件,請查看S3版本或使用備份存儲桶或Glaicer。 – BraveNewCurrency