将 Amazon Elastic Beanstalk 与 tomcat 一起使用时,我是否应该为所有静态内容使用 S3
When using Amazon Elastic Beanstalk with tomcat should I use S3 for all my static content
目前我将我的应用程序 war 文件部署到 EB,它包含用于生成页面的代码以及呈现页面所需的任何 png,我对此很满意,因为所有这些都集中在一个地方。
但现在我知道你可以将 S3 存储桶配置为网站,这样对我来说会更便宜,对用户来说更快吗?将所有这些图像存储在配置为网站的 S3 存储桶中,并将完整的 S3 路径编码到我的代码中 个标签。
但它使部署更加复杂,因为现在只有部分部署在 tomcat.war 中处理。将图像放入新位置也是一回事,但如果我有静态页面会开始影响 urls
即,如果第 1 页是使用 tomcat 部署的,而第 2 页是静态页面,则 url 必须类似于
我不太明白你的问题。
我认为迁移到 S3 是个好主意。它便宜、可靠、快速。
此外,您还可以使用 amazon cloudfront,这样您的内容就可以交付到世界各地 非常快。
你说你正在使用cloudfront,在那种情况下,所有可以缓存的静态文件都已经缓存在cloudfront上(顺便说一句,动态请求也是如此,如果它们具有相同的url并且不t 指定不缓存),我看不出获取静态文件并将它们放在 S3 上有什么好处。相反,您在升级时会有更长的停机时间,因为您需要同时更新 java 和 s3 文件以保持服务的一致性,或者需要一些复杂的部署机制来对每次提交进行版本化。
除非您的服务提供了 TB 级的静态图像(无论如何部署这将是一个相当大的问题),否则将文件保存在服务磁盘上与将它们放在 S3 上的成本可以忽略不计。
目前我将我的应用程序 war 文件部署到 EB,它包含用于生成页面的代码以及呈现页面所需的任何 png,我对此很满意,因为所有这些都集中在一个地方。
但现在我知道你可以将 S3 存储桶配置为网站,这样对我来说会更便宜,对用户来说更快吗?将所有这些图像存储在配置为网站的 S3 存储桶中,并将完整的 S3 路径编码到我的代码中 个标签。
但它使部署更加复杂,因为现在只有部分部署在 tomcat.war 中处理。将图像放入新位置也是一回事,但如果我有静态页面会开始影响 urls
即,如果第 1 页是使用 tomcat 部署的,而第 2 页是静态页面,则 url 必须类似于
我不太明白你的问题。
我认为迁移到 S3 是个好主意。它便宜、可靠、快速。
此外,您还可以使用 amazon cloudfront,这样您的内容就可以交付到世界各地 非常快。
你说你正在使用cloudfront,在那种情况下,所有可以缓存的静态文件都已经缓存在cloudfront上(顺便说一句,动态请求也是如此,如果它们具有相同的url并且不t 指定不缓存),我看不出获取静态文件并将它们放在 S3 上有什么好处。相反,您在升级时会有更长的停机时间,因为您需要同时更新 java 和 s3 文件以保持服务的一致性,或者需要一些复杂的部署机制来对每次提交进行版本化。
除非您的服务提供了 TB 级的静态图像(无论如何部署这将是一个相当大的问题),否则将文件保存在服务磁盘上与将它们放在 S3 上的成本可以忽略不计。