天天看點

高可用之彈性伸縮

彈性伸縮的目标是為了實作服務容量線性擴充,即服務容量随服務提供者部署執行個體的個數線性擴充。彈性伸縮的前提是靈活基礎設施和資源池共享,靈活基礎設施確定應用需要伸縮時能夠快速建立出所需的虛拟計算資源,資源池共享確定一個應用釋放的資源能被其他應用所使用。

彈性伸縮方案包括彈性擴容、彈性縮容、彈性自愈3個方面的内容:

  • 彈性擴容:前端業務流量激增時,彈性伸縮能夠為應用系統快速補充底層伺服器資源,避免通路延時和資源超負荷運作。
  • 彈性縮容:前端業務流量下降時,彈性伸縮為應用系統自動完成底層資源釋放,避免資源浪費。
  • 彈性自愈:當檢測到某台虛拟機執行個體處于不健康狀态時,彈性伸縮自動釋放不健康節點并建立新的服務節點,自動挂載建立的服務節點到負載均衡執行個體中。
  • 線上任務類型:比較常見的是網站、API服務、微服務等常見的網際網路業務型應用。這種應用的特點是對正常資源消耗較多,比如CPU、記憶體、網絡I/O、磁盤I/O等,對于業務中斷容忍性差。
  • 離線任務類型:例如大資料離線計算、邊緣計算等,這種應用的特點是對可靠性的要求較低,也沒有明确的時效性要求,更多的關注點是降低成本。
  • 定時任務類型:定時運作一些批量計算任務是這種應用比較常見的形态,成本節約與排程能力是重點關注的部分。
  • 特殊任務類型:例如閑時計算的場景、物聯網(Internet of Things,IoT)類業務、網格計算、超算等,這類場景對于資源使用率有比較高的要求。
  • 應用必須無狀态并且可橫向擴充。
  • 彈性伸縮一般為橫向同等規格資源擴縮容,不支援縱向的資源規格升降配。
  • 負載均衡産品提供接口動态挂載能力。
  • 通路某些資源服務(如資料庫、緩存)需要配置白名單,新擴容的機器必須能夠自動加入白名單中。
  • 如果有跨網絡安全區域的通路,最好通過統一的服務網關(或NAT網關),以避免新增的機器由于防火牆安全政策的原因無法通路外部服務。
  • 彈性伸縮時要求應用實作優雅上下線的能力,以確定彈性伸縮過程對業務的平滑無感覺。

繼續閱讀