当虚拟主机连接太多时产生新的EC2服务器的策略

我在EC2上构build了一个基础设施,我在nginx中作为apache + php服务器前面的负载平衡器。 每个Apache服务器都有一些虚拟主机。

我正在考虑在虚拟主机处理太多请求时进行扩展的最佳方法。

我想我可以限制每个虚拟主机的连接数,例如100,然后当连接数超过100时,我创build一个新的实例(使用ruby和雾gem),并在该实例上configuration另一个虚拟主机,添加另一个后端nginx平衡器和新实例的IP。

这是要走的路,或者你推荐什么?

与扩展物理硬件时一样平衡。 它可能不会考虑到一个指标决定何时产生新的实例。

100个连接的任意限制可能远远小于实例能够处理的实际限制,因此您将超出计算能力。 另一方面,您的实例在达到该点之前可能会在RAM / CPU或I / O上窒息。

您应该看看AWS自动缩放。 这将允许您设置策略,这些策略将在指定的硬性限制内并基于大量云监视指标自动扩展和缩减计算群集。 您需要使用API​​来设置适当的策略,然后根据您的负载和预算规定来观察和调整它们。