2014-02-07 98 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