allinone_manager
简介
大统一游戏后台
一、 什么是 AllInOne?
- AllInOne即为 大统一游戏后台,主要 提供账号管理,监控管理,部署管理,日志管理等通用服务并且支持自定义扩展。
- GS开发人员均可进行GM后台功能的开发,无需再学习任何的前端技术栈,提高开发效率,避免了繁琐的前端代码(Vue/HTML/CSS)的编写。
二、AllInOne的优势
- 零到一,为使用GS生态的游戏项目提供统一的管理后台
- 完善GS开发生态,为GS游戏项目提供GS服务器及GS客户端的后台管理工具。
- 提供通用且可扩展的游戏后台管理工具,并且可以让项目组低成本快速接入使用。
- 大统一游戏后台 打通 研发测试环境 及 运维正式环境 的部署流程。
- 可以让 研发测试环境上 快速验证新玩法或补丁改动,并可以一键发布版本 到 运维正式环境 中,减少不必要的手动操作,也避免版本不一致的情况。
- 降低项目组的开发成本和接入成本,提供一些通用功能模块。
- 支持对GS服务器的状态检测,并及时发送群通知。
- 可以监测到所有GS服务器的进程列表 以及 查看指定GS服务器的状态或详情。
- 在项目初期,可以充当运维监控看板的后台,可以方便获取到各个GS服务器的信息和状况。
- 支持对GS服务器的异常检测,并及时发送群通知。
- 在出现异常情况时候,比如服务器崩溃或端口监听失败或内存过高,可以用自动发送群通知预警。
- 在项目组初期,无论运维是否介入接管游戏服务器部署,都能有效对异常情况进行预警提醒。
- 支持接入一些公共服的全局的GM功能模块,无需项目组重复接入。
- 例如,目录服的平衡组管理,服务器列表,服务器信息等GM功能模块。
三、文档相关
组件接口
ContainerD.gs
容器化管理
GameLogD.gs
游戏服的通用日志-注册/登录/登出/留存/活动
HealthCheckD.gs
提供GS进程的健康检查-只显示出现异常的GS进程
| 函数原型 | 函数作用 |
|---|---|
| bool update_health_cache(string server_id, string cache_key, mixed cache_val) | 更新健康缓存 |
OpsDeployD.gs
运维部署-将服务器包推送给运维的K8S系统
| 函数原型 | 函数作用 |
|---|---|
| map upload_package(string type, string version, buffer buff) | 上传gitlab-通过gitlab |
| map deploy_docker(string type, string version, string file_sha256) | 部署容器-通知jenkins部署服务器 |
ServerSyncD.gs
服务器同步管理
- 同步服务基础数据
| 函数原型 | 函数作用 |
|---|---|
| bool update_server_cache(string server_id, string cache_key, mixed cache_val) | 更新服务器缓存 |
micro_service.gs
微服务管理-提供服务注册/服务发现