系统架构设计
OMServer 平台采用了三层设计模式,第一层为 Web 交互层,采用了 Django+prototype.js+MySQL 实现,服务器端采用了 Nginx+uwsgi 构建高效的 Web 服务;第二层为分布式计算层,采用 rpyc 分布式计算框架实现,作为第一层与第三层的数据交互及实现主控端物理分离,提高整体安全性,同时具备第三层的多机服务的能力;第三层为集群主控端服务层,支持 Saltstack、Ansible、Func 等平台。具体见如图13-2所示的系统架构图。
Figure 1. 图13-2 系统架构图
Web服务Saltstack Ansible Func
从图13-2可以看出系统的三个层次,首先管理员向 OMServer 平台所在 Web 服务器发起 HTTP 请求,OMServer 接收 HTTP POST 的数据并采用 “RC4+b64encode+密钥key” 进行加密,再作为 rpyc 客户端向 rpyc 服务器发送加密指令串,rpyc 服务器端同时也是 Saltstack、Ansible、Func 等的主控端,主控端将接收到的数据通过 “RC4+b64decode+密钥key” 进行解密,解析成 OMServer 调用的任务模块,结合 Saltstack、Ansible 或 Func 向目标业务服务器集群发送执行任务,执行完毕后,将返回的执行结果加解密处理,最后逐级返回给系统管理员,整个任务模块分发执行流程结束。