我们有六个应用服务器(在LVS下),随机向所有服务器发送请求。
大约8年前,我们习惯于将图像存储在数据库中。
Pros : Can be accessed from all the application server
Cons : Slow大约5年前,在nginx规则的帮助下,我们将图像作为文件存储在六个应用服务器中的一个服务器上,这些规则确保所有图像读/写请求都会发送到单个服务器。
Pros : Fast
Cons : All images read/write request go to single server.问:有没有更好的镜像来解决以下问题:
1. Can be accessed from all application server.
2. Fast access注意:我们会在一段时间后将镜像移动到普通镜像服务器。我们不会立即移动,因为我们不想在该服务器上回复,这也会增加用户上传时间。
发布于 2017-05-08 21:43:06
您可以利用AWS等服务提供的内容交付网络(CDN)和存储桶的强大功能。
将所有图像上传到单个服务器,例如一个亚马逊网络服务S3存储桶https://aws.amazon.com/s3/,它将帮助您从中央服务器获取所有图像,并且可以从所有应用程序服务器访问。
然后你可以将你的CDN存储桶链接到一个S3服务,比如亚马逊的云前端或者一些免费的服务,比如Cloudflare。https://aws.amazon.com/cloudfront/
在这里阅读更多关于如何使用S3的信息:
https://devcenter.heroku.com/articles/s3
http://docs.aws.amazon.com/AmazonS3/latest/dev/RetrieveObjSingleOpPHP.html
在这里阅读更多关于将S3存储桶链接到云前端的信息:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html
因此,亚马逊网络服务的S3将为您提供全球可访问的图像,而Cloudfront CSN将为您提供惊人的速度。
https://stackoverflow.com/questions/43849177
复制相似问题