我们有一个托管在m.large ec2服务器上的java应用程序,它将来需要进行大量的计算,准确地说,它预计每天有1000万次计算,每一个单元计算需要大约100 is,计算是在java代码中进行多次处理,然后转储到db,而不像写一次,读了很多次。平衡负荷的最佳方法是哪种?我们已经讨论过的选项是,随着负载的增加,通过脚本实例化ec2服务器,但是在实现它之前,我们希望得到专家的可靠建议。请提供任何建议。
发布于 2013-10-17 11:52:55
这可能不是你的正确答案,但肯定值得考虑。您应该为应用程序定义度量和阈值。
随着负载的增加,通过脚本实例化ec2服务器
在上面的语句中,您需要定义"load“是什么意思?为了说明负载有“增加的”,负载应该跨越的阈值是多少?
一旦掌握了这些信息,请检查是否可以使用AWS监视这些指标和阈值。如果是的话,那么您可以创建一个自动分解组,在这个组中,当云监视警报通知“负载增加了”时,自动分解将产生一个新的实例。
如果您发现cloudwatch不支持您的度量标准,那么编写您自己的自定义度量,并让cloudwatch监视它。单击这里获取自定义云监视度量文档。
一旦您有了自定义度量,然后再次集成自动调用和云监视警报,以便在负载增加时管理新EC2实例的创建。
简而言之,探索AWS云监视警报和AWS自动调用。
整个过程假设您确实有一种完全自动化的方法来创建EC2实例以及您的软件栈。您可以使用应用程序堆栈创建预焙AMI,也可以使用Opscode Chef等工具动态安装应用程序堆栈。
发布于 2013-10-20 11:42:38
使用服务平台(PaaS),而不是手动创建机器和缩放它们.这是更灵活的长期使用,并需要较少的脚本.这里有一些PaaS建议:寻找PaaS提供者的建议
免责声明:我为Gigaspaces工作,他是云雾开源PaaS堆栈的开发人员。
https://stackoverflow.com/questions/19425007
复制相似问题