负载平衡Java应用程序| Ec2实例

时间:2013-10-17 11:07:01

标签: java amazon-ec2 load load-balancing rds

我们有一个托管在 m.large ec2服务器上的java应用程序,以后需要进行大量的计算。准确地说,它预计每天有1000万次计算,每个单元计算需要大约100ms,计算是java代码中的多处理类型,然后转储到db,而不是像Write Once,Read Many。哪种是平衡负载的最佳方法?我们一直在考虑的选项是在负载增加时通过脚本实例化 ec2 服务器,但在实施之前,我们希望得到专家的可靠建议。请提供任何建议。

2 个答案:

答案 0 :(得分:2)

这可能不适合您,但肯定值得考虑。您应该为应用程序定义度量标准和阈值。

  

随着负载的增加,通过脚本实例化ec2服务器

在上述声明中,您需要定义“加载”的含义?为了说明负载“增加

,负载应该交叉的阈值是多少

一旦掌握了这些信息,请检查您是否可以使用AWS Cloudwatch监控这些指标和阈值。如果是,那么您可以创建一个自动调用组,一旦云台警报告知“负载增加”,自动调用就会启动一个新实例。

如果您发现cloudwatch不支持您的指标,请编写您自己的自定义指标并让cloudwatch监控它。点击here以获取自定义云观察指标文档。

获得自定义指标后,再次集成autoscalling和cloudwatch警报,以便在负载增加时管理新EC2实例的创建。

简而言之,探索AWS云监控警报和AWS自动调节。

整个过程假设您确实拥有一种全自动的方式来创建EC2实例以及您的软件堆栈。您可以使用应用程序堆栈创建预先烘焙的AMI,也可以使用Opscode Chef等工具即时安装应用程序堆栈。

答案 1 :(得分:1)

使用平台即服务(PaaS),而不是手动创建计算机并进行扩展。这对于长期使用来说更灵活,并且需要更少的脚本。这里有一些PaaS建议:Looking for PaaS providers recommendations

免责声明:我为Gigaspaces工作,这是Cloudify开源PaaS堆栈的开发者