2017-05-08 117 views
2

我们有六个应用程序服务器(在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 

注:我们一段时间后,移动图像常见的图像服务器。 我们不会立即移动,因为我们不想在该服务器上回复,并且会增加用户上传时间。

回答

0

您可以充分利用由AWS等服务提供的内容分发网络(CDN)和存储桶的强大功能。

将所有图像上传到单个服务器,例如AWS S3存储桶https://aws.amazon.com/s3/这将帮助您从中央服务器获取所有图像,并可从所有应用程序服务器访问。

然后,您可以将您的S3存储桶与AWS Cloudfront等CDN服务或Cloudflare等免费服务相关联。 https://aws.amazon.com/cloudfront/

了解更多有关如何使用S3的PHP在这里:

https://devcenter.heroku.com/articles/s3

http://docs.aws.amazon.com/AmazonS3/latest/dev/RetrieveObjSingleOpPHP.html

了解更多关于连接的S3存储在这里CloudFront的:

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html

所以AWS的S3将p为您提供全球可访问的图像,Cloudfront CSN将为您提供惊人的速度。

+0

aws是一个明显的解决方案,你可以建议一些东西,而不使用aws –