在阅读了一些AWS文档之后,我想知道如果要在亚洲(包括中国),美国和欧盟交付(js,css,图像和api请求)内容,这些不同用例之间有什么区别?

  • 将我的图像和静态文件存储在美国S3区域,并设置欧盟和亚洲(日本或新加坡)跨区域复制以与美国S3区域同步。
  • 将我的图像和静态文件存储在S3美国地区,并设置cloudfront CDN以在初始请求后将我的内容缓存在不同的位置。
  • 执行上述两项操作(如果性能得到显着改善)。

  • 如果需要实现全局部署,最经济有效的解决方案是什么?以及如何使来自中国的请求保持一致和稳定(我尝试使用cloudfront + s3(us-west),速度很快,但性能却不一致)?

    PS。在初期阶段,我并不希望有太多的用户请求,但是用户遍布全局,我希望他们也能有类似的体验。我的大部分内容是全景图像,我希望每次访问都会依次加载约30MB(10张高分辨率图像)数据。

    最佳答案

    跨区域复制会将一个区域中存储桶中的所有内容复制到另一区域中的其他存储桶中。这实际上仅是为了在整个AWS区域出现故障时提供额外的备份/冗余。它与性能无关。请注意,它将复制到不同的存储桶,因此您需要使用不同的URL来访问每个存储桶中的文件。

    CloudFront是一个内容交付网络。 S3只是文件存储服务。直接从S3提供文件可能会导致性能问题,因此将CDN放在S3前面是个好主意。听起来您确实需要CDN,而且听起来像您已经测试过CloudFront并没有留下深刻的印象。听起来您还需要在中国拥有更大份额的CDN。

    没有理由仅仅因为您正在使用其他AWS服务而选择CloudFront作为CDN。您应该查看其他CDN服务,并查看其边缘网络的外观。根据您的要求,我强烈建议您看看CloudFlare。他们在中国有很多edge network locations

    另一种选择是使用CDN,您可以将其实际推送到其中。过去,我曾将此功能与MaxCDN一起使用。您将通过FTP将文件推送到CDN,并且文件将自动推送到所有边缘网络位置并进行缓存,直到您推送更新。对于大型图片下载的用例,这可能会提供性能更高的缓存机制。不过,MaxCDN似乎在中国没有太大的业务,带宽费用将比CloudFlare贵。

    关于amazon-web-services - Amazon S3跨区域复制与Cloudfront之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33838147/

    10-15 20:56