用「彈性伸縮」需了解客戶什麼資訊?
- 2019 年 10 月 6 日
- 筆記
很多人提到雲計算,一定會說到雲計算具備自動伸縮能力,會按照客戶的業務負載自動伸縮,我在剛接觸雲計算時也這麼認真。真是這樣嗎?沒這麼簡單!
一、什麼是彈性伸縮能力
管理員可以自由設置,當cpu、記憶體等當前監控值高於某閥值時,自動增加ECS雲主機。當低於某閥值時,自動減少ECS雲主機。

二、為什麼不能任意使用彈性伸縮服務
舉個例子,如果某客戶正在使用IE瀏覽器訪問某ECS雲主機上的網站,並用帳號密碼登錄了該網站,而該ECS主機因負載較低被彈性伸縮服務強制退出,那麼該客戶的登錄狀態將斷開,用戶將重新登錄一次,影響業務使用體驗。如果是遊戲業務那麼將斷線。
三、如何才能正常使用彈性伸縮服務
就上面的例子,如果用戶的登錄狀態Session沒有在ECS雲主機上存儲,而是放在了共享存儲中,如RDS資料庫中。即使ECS被強制下線,客戶業務被重新分配到另一台ECS中進行業務使用,登錄狀態仍然能夠在RDS中被找回,客戶業務不會中斷。
總結,如果需要使用彈性伸縮服務,客戶的業務必須進行改造,將雲主機上存儲的有狀態化的數據(如Session數據)移植到RDS、Redis等共享存儲中,簡稱需要「業務無狀態化」。