jav*_*nes 64 cloud amazon-s3 amazon-ec2 amazon-ebs amazon-web-services
我正在将我的Java,Tomcat,Mysql服务器迁移到AWS EC2.
我已经附加了EBS卷来存储MySql数据.在我的Web应用程序中,人们可以上传图像 所以我应该坚持下去.我脑子里有两种选择:
以下是我的笔记,请对它们持怀疑态度,因为我的专长不是服务器,而是软件开发.
EBS plus:S3存储更贵.(0.15 $/Gb> 0.1 $/Gb)
S3 plus:来自EBS的服务静态可能会对我的Web服务器的性能产生负面影响.这是真的?服务图像是否会显着影响服务器性能?对于S3,我的服务器不负责提供静态.
S3 plus:从EBS提供静态可能会导致I/O成本,可能会很小.
EBS plus:人们说EBS更快.
S3 plus:人们说S3对持久性更安全.
EBS plus:无需学习API,可以直接将图像保存到EBS卷.
即我无法决定,如果你指导会很高兴.
谢谢
Kai*_*nke 53
价格比较不太合适:S3费用为每GB使用0.14美元,而EBS费用为每GB PROVISIONED 0.10美元(EBS卷的大小),无论您是否使用.结果,S3可能或可能不比EBS便宜.
Gar*_*son 49
我目前正在使用S3进行项目,而且它的工作非常好.
EBS意味着您需要管理卷+机器以将其附加到.您需要在填充和执行备份时添加空间(不是说您不应该备份S3数据,只是它不是那么重要).
它还使得扩展更难:当您想要添加其他计算机时,您需要将图像拉到单独的计算机或克隆所有图像.这也意味着您要添加瓶颈:您必须管理自己的上传过程,该过程将上传到所有计算机或让一台计算机管理它.
我推荐S3:它已经确定并且忘了.任意数量的机器都可以并行执行上传,您实际上并不需要通知其他机器有关上传的信息.
此外,您可以在图像前使用Amazon Cloudfront作为廉价CDN,而不是直接从S3下载.
小智 12
我在AWS上有针对库存摄影网站的架构解决方案,它存储了数百万TB的数据图像,我想根据您的要求分享AWS中的一些最佳实践:
P1)将原始图像文件存储在S3 Standard选项中
P2)将可再现的图像(如拇指等)存储在S3 Reduced Redundancy选项(RRS)中以节省成本
P3)根据查询的复杂性,可以将包含S3 URL的图像的元数据存储在Amazon RDS或Amazon DynamoDB中.查询Amazon RDS中的条目.如果您的查询很复杂,通常的做法是将元数据存储在Amazon CloudSearch或Apache Solr中.
P4)使用Amazon CloudFront向低延迟用户表达您的意见.
P5)通过Amazon EC2上的SQS或RabbitMQ对您的图像转换进行排队
P6)如果您打算使用EBS,那么它们不能随您的EC2扩展.理想情况下,您可以将GlusterFS用作所有图像的公共存储池.Auto Scaled模式下的多个Amazon EC2仍然可以连接到它并访问/写入图像.