最近我创build了一个Web应用程序。 应用程序也有一些静态部分(库,类等)和dynamic部分(图像,caching,日志等)。 但是,应用程序的一些静态部分将需要很less的更改。 我们把它们称为部分静态的。 整体上有静态的 , 部分静态的和dynamic的部分。
所以我正在尝试使我的应用程序适应Amazon AWS(EC2和S3)。 我不认为把所有的应用程序文件放到一个EC2实例是一个好主意。 我正在考虑把静态和部分静态部分,以EC2和dynamic部分到S3。
这是使用EC2和S3的适当方式吗?
我正在考虑把静态和部分静态部分,以EC2和dynamic部分到S3。
我认为你使用静态和dynamic的术语不同于我们大多数人的理解。 静态数据将是用户上传的图像。 dynamic数据将是由代码生成的东西。 我认为你关注的是数据可能发生变化的频率。 也许你的意思是,用户图像是静态的,一旦他们上传,他们永远不会改变,而不是一个静态的HTML文件,你可能偶尔会更新一次。 outlook未来,我将分别用自己的术语来指代静态和dynamic:作为的文件和作为生成数据的代码的文件。
静态文件应该放在S3上。 即使你最终可能改变它们或停止引用它们。 最好简单地使文件的每个版本具有唯一的名称。
dynamic数据应该托pipe在您的EC2实例上。 理想情况下,您将拥有一个无需终止实例即可更新数据的方法,这可能是共享文件系统的一种手段,它可以让所有节点保持同步服务。 或者,如果节点从不同的代码服务的时间有小的差距可能是可以接受的,你也可以使用脚本来推出文件。