云主机的亲和性策略》系列,共包含以下文章:

  • 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.现实中的技术彩蛋

  • 如果车辆不够怎么办?
    • → 调度员会拒绝最后几名员工上车:“当前没有符合规则的空车!”(云主机创建失败报错)
  • 能否有人不守规则?
    • → 调度员严格执行规则(硬性反亲和性),但也可设置 “尽量遵守,实在不行挤一挤” 模式(软性反亲和性)。

🚀 总结:云主机组 💻 就像给虚拟机分配 “分散座位” 的智能旅行团规则 🚌,通过 组策略绑定 + 自动化调度,在底层物理故障时保护你的业务不瘫痪!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91782.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91782.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/91782.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

USRP捕获手机/路由器数据传输信号波形(下)

目录: USRP捕获手机/路由器数据传输信号波形(上) USRP捕获手机/路由器数据传输信号波形(中) USRP捕获手机/路由器数据传输信号波形(下) 四、路由器MIMO-OFDM系统 本文深入分析采集手机与路由…

位运算在权限授权中的应用及Vue3实践

在现代前端应用中,权限管理是一个至关重要的功能模块。随着应用复杂度的提示功能,权限细粒度越来越精细,如何高效地管理和判断权限成为前端开发的一大挑战。位运算作为一种高效的运算方式,在权限管理领域有着独特的优势。本文将详…

面试实战,问题二十二,Java JDK 17 有哪些新特性,怎么回答

Java JDK 17 新特性面试回答指南 作为一名Java开发者,了解JDK 17的新特性是面试中的关键点。JDK 17(Java SE 17)于2021年9月发布,是一个长期支持(LTS)版本,引入了多项改进以提升开发效率、安全性…

【MySQL安全】什么是SQL注入,怎么避免这种攻击:前端防护、后端orm框架、数据库白名单

基本概念SQL注入是OWASP Top 10安全风险之一,它利用了应用程序对用户输入数据的不当处理。当应用程序直接将用户输入拼接到SQL查询中而没有进行适当的过滤或转义时,就可能发生SQL注入攻击。攻击原理假设有一个登录表单的SQL查询:SELECT * FRO…

pyqt5显示任务栏菜单并隐藏主窗口,环境pyqt5+vscode

环境 pyqt5vscode 环境搭建见 https://blog.csdn.net/huiaifen/article/details/125175261 新建一个QMainWindow 1 在VSCode的资源管理器中,右键选择 PYQT:New Form,打开Qt Designer2 在打开的窗口中选 “Main Window”,然后选“创建”3 直接…

SpringBoot项目数据脱敏(自定义注解)

文章目录前言一.配置1.脱敏类型枚举:DesensitizeType2.注解:Desensitize3.序列化类:DesensitizeJsonSerializer4.工具类:DesensitizeUtil二、测试:DesensitizeTest三、效果展示总结前言 在互联网应用中,用户…

PSO-TCN-BiLSTM-MATT粒子群优化算法优化时间卷积神经网络-双向长短期记忆神经网络融合多头注意力机制多特征分类预测/故障诊断Matlab实现

基本介绍 1.Matlab实现PSO-TCN-BiLSTM-MATT粒子群算法优化时间卷积神经网络-双向长短期记忆神经网络融合多头注意力机制多特征分类预测,PSO-TCN-BiLSTM-Multihead-Attention; 多头自注意力层 (Multihead-Self-Attention):Multihead-Self-Atte…

第一篇:Linux 运维入门:虚拟机部署与基础环境配置

目录 一、准备工作与环境规划 二、虚拟机网络配置 1、虚拟网络编辑器设置 2、系统网络配置 3、主机名配置 三、Hosts 文件与 SSH 免密配置 配置 hosts 文件编辑/etc/hosts文件实现主机名解析: 分发 hosts 文件到其他节点 SSH 免密登录配置在 zhangsan101 上…

(一)全栈(react配置/https支持/useState多组件传递/表单提交/React Query/axois封装/Router)

文章目录 项目地址 一、基础配置 1.1 支持https 1. 安装所需要的包 2. 配置 1.2 常用 1. 字符串拼接 二、组件 2.1 useState组件传递 1. App里初始化useState 2. useState和方法的传递 3. 接收传递来的状态和方法 2.2 表单提交 1. 表单组件处理用户输入数据 2. App传来的submit…

【abc417】E - A Path in A Dictionary

Problem StatementYou are given a simple connected undirected graph G with N vertices and M edges. The vertices of G are numbered vertex 1, vertex 2, …, vertex N, and the i-th (1≤i≤M) edge connects vertices Ui​ and Vi​.Find the lexicographically smalle…

linux火焰图

火焰图简介火焰图是一种性能分析的可视化工具,它将CPU的调用栈(Call Stack)信息以矩形火焰的形式展现出来。Y轴:代表调用栈的深度(函数A调用了函数B,B就叠在A上面)。X轴:代表CPU的抽…

解剖 .NET 经典:从 Component 到 BackgroundWorker

1️⃣ 背景与定位在 .NET Framework 2.0 时代,微软引入了 BackgroundWorker 来解决 WinForm/WPF 场景下“耗时操作阻塞 UI 线程”的问题;而 Component 早在 1.0 就已存在,是所有可视化/非可视化设计器的“基类”。理解这两者的源码与机制&…

桌面端界面设计 |货物 TMS 系统 - SaaS UI UX 设计:审美积累之境

在物流数字化的浪潮中,货物 TMS 系统的 SaaS 化与 UI/UX 设计正构建着独特的审美坐标系。这不仅是技术与功能的融合,更是一场关于效率美学的深度探索,为行业审美积累注入了鲜活的实践样本。SaaS 模式赋予货物 TMS 系统轻盈而强大的特质&#…

多架构镜像整合全攻略:在Docker中实现单一镜像支持同时支持amd64和arm64架构

多架构支持的挑战 :随着异构计算(如 ARM、x86、RISC-V 等)的普及,开发者需要为不同硬件平台提供对应的镜像,传统方式需维护多个版本(如 image:v1-amd64 和 image:v1-arm64 ),导致版本…

Linux730 tr:-d /-s;sort:-r,-n,-R,-o,-t,-k,-u;bash;cut:-d,-c;tee -a;uniq -c -i

回顾 sort sort [选项] 文件-u:唯一,去除重复 -r:按数字大小,倒序排序,大到小 -o:输出文件 -n:按数字大小,顺序排序,小到大 -t: -t后加分割符,按分割符为标准,进行筛选 -k:k后加数字…

力扣457:环形数组是否存在循环

力扣457:环形数组是否存在循环题目思路代码题目 存在一个不含 0 的 环形 数组 nums ,每个 nums[i] 都表示位于下标 i 的角色应该向前或向后移动的下标个数: 如果 nums[i] 是正数,向前(下标递增方向)移动 |nums[i]| 步…

在 Elasticsearch 中落地 Learning to Rank(LTR)

1 为什么要引入 LTR? 常规检索(BM25、语义检索、Hybrid、RRF …)往往只能基于少量信号(关键词命中、向量相似度)排序。 Learning-to-Rank 通过机器学习模型把多维度特征(文档属性、查询属性、查询-文档相关…

Socket编程——TCP协议

文章目录一、TCP传输二、相关接口三、多进程版本四、多线程版本一、TCP传输 TCP和UDP类似,但是在传输中TCP有输入,输出缓冲区,看下面的传输图片 可以理解为TCP之间的数据传输都是依赖各自的socket,socket就充当传输的中介吧。 而…

GitHub使用小记——本地推送、外部拉取和分支重命名

GitHub 项目推送与拉取等操作使用随记 本小记适用于个人项目或组织项目,涵盖 GitHub 推送、拉取、分支管理、.gitignore 设置等常见需求。 1. 将已有本地工程推送至 GitHub 新仓库 1.1 前提条件 本地项目结构完整,已准备好;本地已安装 Git…

RabbitMQ 延时队列插件安装与使用详解(基于 Delayed Message Plugin)

RabbitMQ 延时队列插件安装与使用详解(基于 Delayed Message Plugin)📌 一、什么是 RabbitMQ 延时队列?🚀 二、安装前准备✅ RabbitMQ 环境要求🔧 三、安装延时队列插件🧩 插件名称:…