摘要
传统游戏服务器节点数量少则数十,多则几百上千,如此大的节点数量,需要一个中央运维平台。本文采用Java 中控 + Python 单机 Agent架构,构建统一运维平台。平台实现服务器节点管理、远程日志浏览、数据库备份 / 清库、机器性能指标上报能力。对比 Ansible 等无代理 SSH 方案,Agent 架构在交互式操作、大文件流式传输、安全隔离方面更有优势,适合机房集群高频运维。
一、架构选型
运维平台分为 Agentless(SSH)与 Agent 两种路线。 SSH 方案无需安装程序,但交互式目录浏览、大文件下载性能差,且需要分发主机密钥,攻击面大。 Agent 架构:每台受控机部署常驻 Agent 进程,中控通过内网 HTTP 调用 Agent 执行本地操作。执行逻辑下沉到目标机器,中控仅负责权限、调度、路由转发。
- 中控:SpringBoot,统一入口、鉴权、元数据管理、请求代理转发
- Agent:Python,内网 HTTP 服务,每台机器部署一个进程,本地执行命令、文件读写、采集指标
- 前端:Vue2+ElementUI,运维控制台页面
通信模型:中控主动调用 Agent 接口;Agent 被动接收任务、返回结果