2012-09-03 248 views
1

我是DevOps人,目前我在ubuntu ec2上运行我的Ruby on Rails应用程序,并且应用程序和Web服务器驻留在同一个盒子中,但我们使用的是mysql RDS群集。由于网站访问量增加,我可以看到很多尖峰。所以我打算改变这个系统。我想将Web服务器nginx放入单独的实例中,并将Web应用程序放在单独的实例中。但是这需要一个应该驻留在nginx框中的负载平衡器,但是一旦流量增加,nginx实例就可以配置为自动缩放。怎么样的应用服务器实例?它可以配置为自动缩放,但需要将其自身附加到Web服务器,并且Web服务器需要发现已创建的新应用程序服务器。如何实现这一目标?请帮助我完成这件事。配置nginx web服务器与多个应用程序服务器aws堆栈

回答

1

当您在此刻使用单个Web服务器时,使用nginx作为静态Web服务器并在另一个实例上使用另一个后端Web服务器的代理的转换确实很有意义,并且可以提升性能。

但是我不确定你是否真的需要自动调节。如果您希望针对快速流量峰值做出反应,那么Autoscaling通常很有意义。如果您的工作负载持续或多或少会随着时间的推移而增加,那么手动启动并在nginx配置中添加另一个后端服务器应该更容易。如果这不适合你,你仍然可以看看Amazon's Elastic Loadbalancers以及之后的Autoscaling。

+0

我可以获得一些意想不到的流量,这样nginx web服务器实例将被配置为自动缩放,因此它将置于LB之下。 –

+0

在这种情况下,我会在nginx后面添加一个ELB。在nginx中将所有后端流量直接传送给ELB。在ELB后面,您可以使用不同的应用程序服务器来设置自动扩展组。它们可以在不需要更改nginx配置的情况下进行扩展和缩减。 – j0nes

+0

我想你会想要2 ELB的。取决于流量。一个在Web服务器前面,另一个在应用服务器前面。然后,您可以根据需要独立自动缩放。 –

相关问题