我们创建了一个产品,它可能会为驻留在我们服务器上的数据文件生成大量请求。目前我们有一个共享托管服务器,它运行一个 PHP 脚本来查询数据库并为每个用户请求生成数据文件。这效率不高,到目前为止还不是问题,但我们希望迁移到更具可扩展性的系统,因此我们正在研究 EC2。我们的主要关注点是能够在发生大量流量时处理它们,并为下载数据文件的用户提供低延迟。
我还不能 100% 确定这一切将如何运作,但这就是我的想法:
我们使用 EC2 实例来托管我们的管理面板并生成提供给应用程序用户的文件。当任何管理员做出影响这些数据文件(由用户下载)的更改时,我们会使用 CloudFront 将副本复制到 S3。这里的想法是让数据缓存并在 S3 上等待,这样我们就可以缩短计算时间,并使用 CloudFront 为所有请求文件的用户提供低延迟。
我仍在学习该系统,并想知道是否有人对这个想法有任何反馈或对它如何运作的见解。我也很好奇像 Cassandra 这样的项目的目的。我的理解是,只需将我们的应用程序放在 EC2 服务器上,就可以根据服务器的性质对其进行扩展。Cassandra 是否只是为了保持较低的资源使用率,或者即使在 EC2 上也有理由使用这样的系统?
CloudFront:http ://aws.amazon.com/cloudfront/ EC2:http ://aws.amazon.com/cloudfront/ Cassandra:http ://cassandra.apache.org/