如果您直接与 AWS 交谈,那么您有几个选择,但基本上您将执行以下操作来扩展您的应用程序:
在 EC2 上扩展应用服务器
您将结合使用 CloudWatch 和 EC2 服务来查看性能指标,并根据您认为合适的方式启动和关闭 EC2 应用程序实例。
扩展 SQL 和 NoSQL 数据库
这取决于 DB 有点不同,但是AWS 从你那里抽象了很多东西,所以如果你使用他们的服务,有办法通过 DB 以编程方式水平扩展。
AppHarbor 问题
Appharbor 引入了工人的概念。工人是否喜欢多个实例,它们是否会自动进行负载平衡?
我可以以编程方式添加/删除工作人员吗?如果是这样,基于什么指标?
如果您使用的是附加组件,例如 MongoLab,为了简单起见,您是否必须通过拥有多个 MongoLab 数据库来手动管理分片,或者附加组件提供者是否为您提供该抽象?
本质上,AppHarbor 的水平扩展故事是什么?