2012-07-09 37 views
0

我是一個Java開發人員,並正在考慮AWS,Rackspace公司和Heroku的潛在雲提供商爲我的應用程序。之前只使用傳統的Web主機(虛擬專用服務器計劃),我有點不知所措。動態集羣調整的雲

我的理解是,隨着雲計算,你可以釀出/殺死虛擬設備(虛擬機的預配置軟件棧,如您的應用程序服務器,數據庫服務器等)的基礎上的需求。所以如果它的午夜或假期沒有人使用我的應用程序,那麼我可以減少運行實例的數量並節省一些錢。但是,如果星期六的早晨,我的危險接近峯值負載,我可以產生新的服務器,並放心,我的應用程序不會崩潰。

所以要開始,如果我的理解是不正確或以任何方式有缺陷,請糾正我開始了!

假設我或多或少對雲的正確性,那麼我應該構建自己的顯示器,以監視應用程序使用中的突然增加/減少/模式(我假設基於網絡流量和帶寬? )。當流量增長到某個點時,我應該實例化更多的虛擬機,反之亦然,當流量減慢時。

由於JClouds允許你這樣做我的顯示器將只使用JClouds API產卵/殺服務器。

什麼我窒息的是:我應該用什麼算法/公式來告訴我的顯示器時,產卵/殺死虛擬機?我寫了一個試驗性的算法,基本上可以確保我有雙倍的「馬力」(VMs),我需要在任何時候。監視器每10秒輪詢一次每個節點,如果系統上的當前負載已經改變了一定的增量,它允許ClusterResizer啓動並確定我們是否需要更多/更少的節點。

雖然我花了幾個小時來設計這個動態調整大小系統的大綱/骨架,但是我想在我自己做得太早之前停下來,並且在這裏做一些理智的檢查,以防萬一我做了一些不必要的事情,錯誤或只是簡單的瘋狂!

如何其他雲應用監控和調整他們的虛擬機?我應該熟悉哪些算法或最佳實踐?提前致謝!

回答

0

在Amazon EC2上,您不需要自己實施監控,因此有一項稱爲cloudwatch的功能可以爲您進行彈性縮放 - 當負載增加時自動放大,當它下降時縮小。所以你不需要自己實施監控服務。在RackSpace上,有一個稱爲Scalr的第三方自動縮放解決方案。可能還有一個與Amazon的CloudWatch等價的本機RackSpace功能,您應該進行調查以保存自己從零開始構建此基礎架構。