《云主機的親和性策略》系列,共包含以下文章:
- 1?? 云主機的親和性策略(一):快樂旅行團
- 2?? 云主機的親和性策略(二):集群節點組
- 3?? 云主機的親和性策略(三):云主機 & 宿主機
- 4?? 云主機的親和性策略(四):云主機組
😊 如果您覺得這篇文章有用 ?? 的話,請給博主一個一鍵三連 🚀🚀🚀 吧 (點贊 🧡、關注 💛、收藏 💚)!!!您的支持 💖💖💖 將激勵 🔥 博主輸出更多優質內容!!!
云主機的親和性策略(一):快樂旅行團
- 1.場景設定
- 第一步:創建分組規則(云主機組)
- 第二步:員工報名加入小組(云主機加入組)
- 第三步:調度員分配車輛(云平臺調度器)
- 2.關鍵角色對應表
- 3.為什么不用其他方法?
- 4.云主機組的核心優勢
- 5.現實中的技術彩蛋
本文用「旅行團分車」的比喻來解釋云主機組如何實現反親和性策略,保證同一個組的云主機分散在不同宿主機上。
1.場景設定
目標:一個公司組織 30 名員工(類比 30 臺云主機)去春游,為了防止一輛大巴車出事故導致全員受傷,公司要求:
- ?? 同一部門的員工必須分散在不同的大巴車上!(這就是反親和性)
第一步:創建分組規則(云主機組)
- 公司 HR 宣布:
- 本次春游采用 安全分散組 規則!每個部門是一個獨立小組,組內成員必須坐不同車輛。
- 這相當于在云平臺創建了一個 反親和性云主機組,策略類型為
Spread
。
第二步:員工報名加入小組(云主機加入組)
- 開發部經理:我們開發部 10 人,加入 “安全分散組”!(相當于創建 10 臺云主機時指定加入同一個云主機組)
- 測試部經理:測試部 8 人,也加入這個組!(其他云主機陸續加入同一組)
第三步:調度員分配車輛(云平臺調度器)
調度員(類比云平臺調度器)手里有:
- 空閑大巴列表:10 輛車(類比 10 臺宿主機),每輛車有 50 個座位(類比宿主機資源)。
- 分組規則:同一個部門的員工不能在同一輛車上!
分配過程:
- ? 開發部第 1 個員工:隨便選一輛車(如 1 號車)坐下
- ? 開發部第 2 個員工:調度員檢查 1 號車已有開發部的人 → 禁止上車! 只能選其他車(如 2 號車)
- ? 開發部第 3 個員工:1 號車和 2 號車已有開發部成員 → 只能選 3 號車
- …
- ? 測試部第 1 個員工:所有車都無測試部成員 → 可坐任意車(如 1 號車)
- ? 測試部第 2 個員工:1 號車已有測試部的人 → 換 2 號車
? 最終結果:
- 開發部 10 人 → 分散在 10 輛不同的車上(1人/車)
- 測試部 8 人 → 分散在 8 輛車上(1人/車)
- 即使 1 號車拋錨,開發部和測試部各自只損失 1 人!
2.關鍵角色對應表
春游場景 | 云計算場景 | 作用 |
---|---|---|
員工 | 云主機(VM) | 需要被調度的個體 |
大巴車 | 宿主機(物理服務器) | 承載個體的物理單元 |
安全分散組 | 反親和性云主機組 | 聲明 “組內成員必須分散” 的規則 |
調度員 | 云平臺調度器 | 根據規則分配位置 |
車輛拋錨 | 宿主機故障 | 分散部署后,單點故障影響最小化 |
3.為什么不用其他方法?
- 1?? 方法一:員工自由選座(無規則)
- 風險:開發部全員擠上 1 號車 → 車故障則整個部門癱瘓!
- 類比無策略時云主機扎堆在同一宿主機。
- 2?? 方法二:貼標簽分組(標簽選擇器)
- 給每輛車貼標簽(如 “
紅隊車
/藍隊車
”),要求員工按標簽選車。 - 問題:員工需自己記住規則,容易出錯!(相當于用戶需手動管理復雜標簽)
- 給每輛車貼標簽(如 “
- 3?? 方法三:指定車隊(資源池分區)
- 直接規定:“開發部只能坐 1-5 號車,測試部坐 6-10 號車”。
- 缺點:如果開發部只有 2 人,卻占用 5 輛車 → 浪費座位!(類比資源碎片化)
4.云主機組的核心優勢
- 用戶省心:只需說 “加入反親和組”,不用關心底層宿主機在哪。
- 調度高效:調度員(云平臺)自動執行分散邏輯,避免人為錯誤。
- 故障隔離:單臺宿主機宕機時,組內其他云主機不受影響(如同部門員工在其他車上安然無恙)。
5.現實中的技術彩蛋
- 如果車輛不夠怎么辦?
- → 調度員會拒絕最后幾名員工上車:“當前沒有符合規則的空車!”(云主機創建失敗報錯)
- 能否有人不守規則?
- → 調度員嚴格執行規則(硬性反親和性),但也可設置 “
盡量遵守,實在不行擠一擠
” 模式(軟性反親和性)。
- → 調度員嚴格執行規則(硬性反親和性),但也可設置 “
🚀 總結:云主機組 💻 就像給虛擬機分配 “分散座位” 的智能旅行團規則 🚌,通過 組策略綁定 + 自動化調度,在底層物理故障時保護你的業務不癱瘓!