工作内容
后端只有一个人,需要处理所有与后端相关的事情。
项目A
游戏服
为了能动态伸缩和不停服更新重启,采用了微服务架构。

需要部署多个进程

本地测试,每个核心服务部署两个进程

底层框架
不断改进的一套代码。最近做非传统游戏项目,碰到了一些新的思路,有时间再改进一下。
核心模块原本有很多功能,现在只保留了一些核心概念,其它的移动到工具模块。

工具模块收集了很多工具类

后台管理系统
为了便于自己和后人维护,基于ruoyi-vue3做了一套后台管理系统。
它的资料比较多,而且在B站上有比较系统的教程。
进程状态管理,当在线上启动一个新的服务后,并不会立即对外使用,需要通过后台来修改它的状态

通过后台管理系统查看在线主播

使用工具修改了ruoyi的包名,将游戏业务放到了一个新的模块。在随后的开发过程中,发现游戏业务还是会与管理后台的其它模块产生耦合,纠结中。

使用了前后端分离版的ruoyi-vue3

客户端模拟器
前后端通信使用了protobuf,使用客户端模拟器向游戏服发送消息来测试功能。
从项目启动到项目快要上线,还没有摸到过一个完整功能的客户端,根据没法进行功能联调。
感觉各种不靠谱,赶紧搓了一个模拟器,自己来联调所有功能。

Jenkins
使用Jenkins来管理项目的自动构建、内部部署、外部发布。

提供了一些操作用于维护内部游戏服

压测
模拟大量玩家向游戏服发起操作
测试整个流程,配合jmc、visualvm来分析整体性能。

一些交互流程

负载均衡
使用了两种负载均衡,这个用于大厅服

运维
项目组太小,没有配置专门的运维,所以这些都需要自己来完成,购买云服务、线上部署、日常维护。

项目B
游戏服

本地启动多个进程

日志库水平分表

JMeter
测试接口耗时,项目时间比较紧,简单跑一跑

Swagger
用于对接和测试

Jenkins
使用Jenkins来管理项目的自动构建、内部部署、外部发布。

其它
后台管理系统、底层框架、导表工具这些就不在这里贴出来了。

被折叠的 条评论
为什么被折叠?



