经过认识学习vue、RESTful等各种必要的技能,挖坑、爬坑、挖坑、爬坑终于在不懈努力填坑后,完成了一个基于前后端完全分离架构的运维平台。前端一套代码,后端一套代码(每个机房的代码都是同一套全功能代码,便于维护),架构如下所示:
前后端完全分离的架构可以较为完美的解决跨机房运维管理的各种大小问题,例如:
1、之前的平台没有完全的前后端分离,前端页面基本由后端渲染完成。为了防止机房之间的网络延迟和波动,每个机房都部署一套完成的运维平台,这样操作不同机房的运维业务需要登录不同的平台。现在前后端完全分离后,虽然每个机房还是要部署API,但是前端只要一个了,登录一个页面就可以操作所有的机房,由于api之间的交互大多数是控制信息,数据量非常小,具体的业务执行过程还是由每个机房部署的API程序在内网完成,机房之间的网络延迟和波动几乎没有影响。这样运维或开发人员对业务的可操作性大大提高,用户体验上了一个台阶。
2、各个机房提供的API接口完全相同,可以以任意一个为中心,如果是资源管理接口,则可以提供多机房资源统一管理功能。线上的运维脚本、定时任务等等需要获取资源信息(公私网ip,主机名,机房位置,项目配置文件,游戏服信息等),只需要通过统一的API接口来查询、修改、新增等资源信息,由于这些有了统一的入口,这就使得线上的运维业务或资源管理不会失控。
3、虽然目前只是一个人开发,万一以后业务发展越来越大,运维开发会再招人呢(想想还有点小激动),那么前后端分离,分工更加精细明确,使得运维平台的开发维护变得更新加清晰和简单可控。 按照惯例,贴几张图: