文件名称:Server与Agent的通信方式-搭建小型access数据库实录
文件大小:1.72MB
文件格式:PDF
更新时间:2024-06-29 06:09:31
OpenStack 自动部署
3.4 通信设计 系统虚拟机管理模块(VMManager)内部实现了一个对虚拟机 Agent 开放的 网络服务程序 Server,虚拟机初始化完成并启动 Agent 后会通过 TCP 连接到此 Server,Server 与虚拟机 Agent 之间使用系统定义的私有网络协议进行通信。通信 主要是 Agent 监控数据的回传,Agent 执行 Linux 命令后输出内容回传,Linux Shell 指令下发,Server 控制指令的下发等。 Server 作为网络程序服务端需要保证提供多客户端同时连接,可以同时为多客 户端进行即时服务。这样需要 Server 实现多线程并发的服务功能,每次有 Agent 连 接时系统 Server 会启动一个服务线程对 Agent 服务,并且在 VMManager 中注册自 己。当 Server 需要对虚拟机 Agent 下达指令时,可以在注册库根据 Agent 的 IP 地 址获得与 Agent 建立的 Socket 对象,向此 Socket 输出命令字符串。系统网络服务 程序 Server 与虚拟机 Agent 的通信方式如下图所示。 Server Agent Clients Thread Socket Register TCP New Thread Commands Interpreter Executor Execute Socket 图3.3 Server与Agent的通信方式