2012-09-03 156 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服務器前面,另一個在應用服務器前面。然後,您可以根據需要獨立自動縮放。 –

相關問題