1

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

有没有人以前做过这个,或者对如何最好地解决这个问题有任何建议?在我深入研究并从头开始重写之前,我很想知道是否有人有一些大纲代码或注释。

谢谢!沃克

4

1 回答 1

2

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

一旦您的服务器库随手可得,就该准备您的监控解决方案了。Nagios 可以很好地完成这项任务。任何可以使用触发器等响应事件的监控解决方案都可以使用。

有几种方法可以扩展,了解如何管理利用率。

利用率

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

扩大

涉及扩展到更大的服务器以服务请求,它的字面意思是为了服务器请求,您必须迁移到更大的服务器。或者另一种思考方式是,如果在更大的服务器上提供请求,请求的成本将会降低。

根据我的经验,短期内扩大规模的需求会减少。如果您始终需要最低规格的服务器来处理负载,那么您应该会看到平均利用率水平有所提高。一旦利用率水平始终保持在 60% 左右,就该开始扩大规模了。

扩展可能会很昂贵,因此如果负载达到峰值,最好将另一台服务器添加到池中,这就是扩展的工作原理。

向外扩展

对于大多数项目而言,横向扩展在短期内更为常见,该过程涉及向环境中添加更多主机并使用负载均衡器分发请求。当利用率水平达到 60% 或更高时,监控解决方案中的触发器会触发启动主机的请求。当负载恢复到中时,监控解决方案会关闭服务器。它应该是自动的,并且在关闭服务器时,利用率水平应该会提高。我们尽量保持 40% 的利用率作为环境的中值。

复杂性在于自动配置负载均衡器以查看新主机。我知道有人只是预先配置平衡器以使用健康措施,即使在服务器关闭后也是如此。负载均衡器不会向死主机提供流量。当服务器启动时,负载平衡器应该再次看到它并开始自动向服务器提供请求。

最终解决方案

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

希望这对您有所帮助,并且您继续建立一个成功的环境。

于 2011-07-14T10:20:21.493 回答