两种分发模型
推送(push)模式里控制端知道全部节点地址与凭据,按编排逐台或分批把任务推下去,能精确控制顺序、批次与并发,出问题也容易定位到某台主机。拉取(pull)模式里节点按周期主动向服务端获取任务并回报结果,服务端不必能反向访问节点。规模越大、网络越受限,拉取的优势越明显;而需要严格时序与即时变更时,推送更容易表达。
基本信息
| 推送模式 | 控制端主动连接被管节点执行 |
|---|---|
| 拉取模式 | 被管节点定期获取任务并执行 |
| 推送前提 | 控制端可访问节点,凭据集中管理 |
| 拉取前提 | 节点可访问服务端,需注册与身份识别 |
选择依据
- 网络可达性:控制端无法入向访问节点时,优先拉取。
- 规模:节点规模很大时,拉取的并发更可控,避免控制端连接数爆炸。
- 时序要求:需要严格顺序、批次控制与即时执行时,推送更直接。
- 新节点纳管:拉取模式下节点启动后自行注册,省去清单维护。
- 审计要求:两种模式都要保证执行记录集中留存,推送更容易在一次执行里形成完整记录。
模型对比
| 对比项 | 推送模式 | 拉取模式 |
|---|---|---|
| 发起方 | 控制端 | 被管节点 |
| 新节点接入 | 需先加入清单 | 注册后自动纳入 |
| 执行时延 | 立即执行 | 取决于拉取周期 |
| 控制端压力 | 连接与凭据集中 | 分散在周期请求上 |
| 隔离子网适配 | 需要反向可达 | 只需出向可达 |
| 时序控制 | 精确、易分批 | 弱,需靠任务自身约束 |
大规模推送要同时限制并发数与速率:并发过高会让控制端和网络同时承压,也容易在被管节点上叠加峰值负载。典型做法是按批次分组、设置最大并发与执行间隔。
拉取模式下节点状态可能滞后:节点离线期间不会取任务,控制台显示的仍是上一次上报的状态,需要额外的心跳或超时判定来识别失联节点。