Php 通过API以编程方式上下扩展rackspacecloud服务器

Php 通过API以编程方式上下扩展rackspacecloud服务器,php,api,codeigniter,rackspace-cloud,Php,Api,Codeigniter,Rackspace Cloud,我今天与Rackspace技术支持人员交谈,寻找一个简单的解决方案,根据负载上下扩展我的服务器,他说这可以通过他们的API编程实现 以前有没有人这样做过,或者对如何最好地解决这个问题有什么建议?我很想知道,在我开始重写之前,是否有人有一些大纲代码或注释 谢谢! WalkerWalker,我建议您先准备好服务器,然后使用监控解决方案触发的脚本启动和停止服务器。一旦您能够以自动化的方式一致地部署质量经认可的服务器,您仍然需要大约15到20分钟来创建服务器。因此,无论哪种方式,您都需要在需要时准备好资

我今天与Rackspace技术支持人员交谈,寻找一个简单的解决方案,根据负载上下扩展我的服务器,他说这可以通过他们的API编程实现

以前有没有人这样做过,或者对如何最好地解决这个问题有什么建议?我很想知道,在我开始重写之前,是否有人有一些大纲代码或注释

谢谢!
Walker

Walker,我建议您先准备好服务器,然后使用监控解决方案触发的脚本启动和停止服务器。一旦您能够以自动化的方式一致地部署质量经认可的服务器,您仍然需要大约15到20分钟来创建服务器。因此,无论哪种方式,您都需要在需要时准备好资源

一旦你拥有了你需要的服务器库,是时候准备你的监控解决方案了。Nagios可以很好地完成这项任务。任何能够用触发器等响应事件的监控解决方案都将起作用

有几种方法可以扩大规模,了解如何管理利用率

利用率

对于我们来说,这是项目独有的,它是每秒系统负载/请求+IO的聚合度量。至少考虑负载平均值。在我们的场景中,我们想了解是什么使我们的系统更繁忙,并制定出我们自己的利用率度量。我们将其插入到一个定制的监控解决方案中。我们应该扩大或缩小规模时的利用措施

放大

涉及到扩展到更大的服务器以服务请求,这实际上意味着为了服务请求,您必须迁移到更大的服务器。或者从另一个角度考虑,如果在更大的服务器上提供请求,那么请求的成本就会降低

根据我的经验,短期内扩大规模的必要性降低了。如果 您始终需要最低规格的服务器来处理负载 然后您应该会看到平均利用率水平的增长。一旦 利用率水平在60%左右,这是开始的时候 扩大规模

扩展成本可能很高,因此如果负载达到峰值,最好只向池中添加另一台服务器,这就是向外扩展的工作方式

向外扩展

对于大多数项目来说,短期内向外扩展更为常见,这个过程包括向环境中添加更多主机,并使用负载平衡器分发请求。当利用率达到60%或以上时,监控解决方案中的触发器会触发启动主机的请求。当负载返回到中值时,监控解决方案将关闭服务器。它应该是自动的,在关闭服务器时,利用率应该会提高。我们试图保持40%的利用率作为环境的中位数

复杂性在于自动配置负载平衡器以查看新主机。我知道有些人只是预先配置了平衡器,以便在服务器关闭后使用健康度量。负载平衡器将不向死主机提供通信。当服务器启动时,负载平衡器应该再次看到它,并开始自动向服务器提供请求

最终解决方案

部署一个最低可行的环境并设置监控,以观察您自己的利用率水平。创建在所选环境中启动服务器的触发器。触发器应执行一个请求,该请求触发对Rackspace的调用并启动服务器。这是一个良好的开端


希望这对您有所帮助,然后您将继续构建一个成功的环境。

您是在问如何使用他们的REST服务(如果您以前处理过REST,则非常简单),还是如何准确地测量服务器上的负载?您已经考虑了一段时间了。。。我能想到的一个问题是,重建服务器需要一分钟的时间,因此您可能必须部署一个负载平衡器和两个应用程序服务器,其中一个处理负载,另一个正在调整大小,反之亦然。回答得很好,不过我很想了解更多有关设置的信息。您会推荐任何用于公开服务器负载的工具吗?您使用的是哪种负载平衡器?Rackspace或商用/OSS产品提供的负载平衡解决方案?请使用您熟悉的负载平衡器或反向代理。这并不重要。但是与机架空间负载平衡器接口可能更容易,因为它们有一个api。我们主要使用Rackspace负载平衡器,然后有时在应用服务器上使用OSS产品来进行更精细的请求路由调整。我们使用过的OSS产品的一些例子是Nginx和HAproxy。