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