天天看點

ROS 助你輕松實作應用的彈性伸縮

ROS 助你輕松實作應用的彈性伸縮

<a href="/go/1/10?postion=1" target="_blank">資源編排ros</a>

是一種簡單易用的雲計算資源管理和自動化運維服務。使用者通過模闆描述多個雲計算資源的依賴關系、配置等,并自動完成所有資源的建立和配置,以達到自動化部署、運維等目的。

<a href="/go/1/10?postion=1" target="_blank">了解更多</a>

當應用上線以後,我們就萬事大吉了嗎?非也非也,可能日常情況下,你的應用利用現有的資源能很容易的處理使用者的請求,但是如果是節日,熱點事件,雙十一或者促銷活動導緻的流量暴漲呢,我們應該怎麼去處理,相信大家肯定會說加資源啊,伸縮應用叢集啊。是,這是一個好方法,但是說起來容易,做起來難,怎麼能很快速的擴資源呢?當流量逐漸回歸平穩的時候,怎麼能一點一點的收縮資源,減少資源浪費呢。本文将基于阿裡雲的資源編排服務(ros)來嘗試給出一點建議。

本文通過下面的高可用應用部署的例子來說明,如何通過通過ros做到資源的彈性伸縮,輕松應對流量波峰。下圖是一個高可用應用部署的最簡單架構:

ROS 助你輕松實作應用的彈性伸縮

所有彈性計算資源 ecs,rds建立在同一個vpc網絡下, 外部使用者通過slb通路應用。同時rds是主備存儲放在不同的可用區,并且建立了資料庫為其添加使用者。slb監聽了80和443端口。是以基本上,隻需要使用者把自己的應用部署到這個環境裡,就可輕松上線了。通過下面的【一鍵部署】就可以搭建出一個高可用架構。

<a href="https://ros.console.aliyun.com/createstack?regionenable=true&amp;spm=5176.100239.blogcont61888.17.ftfnmw&amp;regionid=cn-beijing&amp;templateurl=http:%2f%2fros-template.cn-hangzhou.oss.aliyun-inc.com%2fsimple_high_available_infrastructure.json&amp;step=2">一鍵部署&gt;&gt;&gt;</a>

應用上線了,可以松口氣了,别急。公司要做促銷,要迎接雙十一,流量暴漲,目前的計算能力不能處理怎麼辦?别急,下面就說如何通過 ros, 在已有的應用部署環境下,并且不影響使用者使用的情況下,神不知鬼不覺的應用的彈性伸縮呢?

流量暴漲擴容隻需要下面兩步:

給原有app部署機做鏡像

點選下面的一鍵擴容:

<a href="https://ros.console.aliyun.com/createstack?regionenable=true&amp;spm=5176.100239.blogcont61888.17.ftfnmw&amp;regionid=cn-beijing&amp;templateurl=http:%2f%2fros-template.cn-hangzhou.oss.aliyun-inc.com%2fscaling_simple_ha_infrastructure.json&amp;step=2">一鍵擴容&gt;&gt;</a>

點選完一鍵擴容後,你會在浏覽器看到下圖輸入參數:

ROS 助你輕松實作應用的彈性伸縮

如果擴容後,仍然不能處理繼續增長的流量呢,這個也很簡單,可以繼續點選一鍵擴容,增加計算量。但是最好的方法是使用如下所示的方法來調節自己應用的部署規模。這樣不僅很友善的實作擴容,也可以很友善的做到縮容。這裡動态調節的本質是,利用ros的update功能,通過修改資源棧模闆的參數,來更新資源棧中的資源配置以及數量。簡單說,通過調節上面的資源棧的 maxamount 參數就可以達到動态調節 ecs 計算資源目的。

當需要增加資源時, 修改maxamount為10,那麼就是在原有擴容的基礎上,再增加5台相同配置的ecs;當流量開始降低,修改maxamount為3,就是在原有擴容的基礎上,删除2台機器。

ROS 助你輕松實作應用的彈性伸縮

點選【更新堆棧】,會出現如點選一鍵擴容時參數輸入框,如下圖所示,假如需要縮容,那面調整maxamount參數為3,點選更新就會把多餘的 ecs 釋放掉。

ROS 助你輕松實作應用的彈性伸縮

這樣不論流量規模如何變化,我們都可以以不變應萬變,輕輕松松實作 ecs 計算的任意調節。當流量徹底回歸正常水準,隻需删除一鍵擴容時所建立的資源棧即可。

從此以後後任何彈性伸縮的應用場景,再也不用怕了。

ROS 助你輕松實作應用的彈性伸縮