我会制作一个与 REST WebService 交互然后与远程数据库交互的移动应用程序。我无法估计几次后我能拥有多少用户,所以我会制定一个可扩展的解决方案。该应用程序应该提供一些休息服务来发布和获取数据以及持续运行的推送通知服务。我最初的想法是Java App + MySQL db....但我不知道是否有更好的可扩展方式。有什么建议吗?
问问题
174 次
2 回答
1
根据您所说,我认为您需要 AWS 中的两项服务:EC2和RDS。
在EC2中,您将拥有可以放置 API 的所有服务器。出于可扩展性的考虑,我建议您将服务器放在 LoadBalancer(ELB服务)之后,并设置自动扩展以在需要时添加和删除实例。您还可以拥有一个 EC2 实例来处理您的通知发送(一个守护程序)和另一个实例(或同一个)用于您的后端工作(从源下载数据)。
当然,对于数据库,您应该使用RDS。您只需要创建一个数据库,并配置安全性(谁可以访问它),您就可以使用它!
于 2013-03-01T13:52:07.583 回答
1
只是添加另一个扩展性很好的选项:Amazon Elastic Beanstalk。总之:您将拥有完整的 Java 堆栈(Amazon Linux + Tomcat)、弹性存储(在 S3 上)以及可选的 RDS 实例(运行 MySQL,这将非常适合您的需求)。Amazon 负责扩展(VM 数量等)、设置负载均衡器和 RDS 实例。您应该只部署您的 .war 文件、数据库架构和数据并设置权限。
在我看来,最容易入手的是/maintain/scale/。它是一种 PaaS,与使用 EC2+RDS 不同,后者是 IaaS。
于 2013-03-01T20:46:18.523 回答