2012-07-09 38 views
0

我是一个Java开发人员,并正在考虑AWS,Rackspace公司和Heroku的潜在云提供商为我的应用程序。之前只使用传统的Web主机(虚拟专用服务器计划),我有点不知所措。动态集群调整的云

我的理解是,随着云计算,你可以酿出/杀死虚拟设备(虚拟机的预配置软件栈,如您的应用程序服务器,数据库服务器等)的基础上的需求。所以如果它的午夜或假期没有人使用我的应用程序,那么我可以减少运行实例的数量并节省一些钱。但是,如果星期六的早晨,我的危险接近峰值负载,我可以产生新的服务器,并放心,我的应用程序不会崩溃。

所以要开始,如果我的理解是不正确或以任何方式有缺陷,请纠正我开始了!

假设我或多或少对云的正确性,那么我应该构建自己的显示器,以监视应用程序使用中的突然增加/减少/模式(我假设基于网络流量和带宽? )。当流量增长到某个点时,我应该实例化更多的虚拟机,反之亦然,当流量减慢时。

由于JClouds允许你这样做我的显示器将只使用JClouds API产卵/杀服务器。

什么我窒息的是:我应该用什么算法/公式来告诉我的显示器时,产卵/杀死虚拟机?我写了一个试验性的算法,基本上可以确保我有双倍的“马力”(VMs),我需要在任何时候。监视器每10秒轮询一次每个节点,如果系统上的当前负载已经改变了一定的增量,它允许ClusterResizer启动并确定我们是否需要更多/更少的节点。

虽然我花了几个小时来设计这个动态调整大小系统的大纲/骨架,但是我想在我自己做得太早之前停下来,并且在这里做一些理智的检查,以防万一我做了一些不必要的事情,错误或只是简单的疯狂!

如何其他云应用监控和调整他们的虚拟机?我应该熟悉哪些算法或最佳实践?提前致谢!

回答

0

在Amazon EC2上,您不需要自己实施监控,因此有一项称为cloudwatch的功能可以为您进行弹性缩放 - 当负载增加时自动放大,当它下降时缩小。所以你不需要自己实施监控服务。在RackSpace上,有一个称为Scalr的第三方自动缩放解决方案。可能还有一个与Amazon的CloudWatch等价的本机RackSpace功能,您应该进行调查以保存自己从零开始构建此基础架构。