项目简介
本项目是基于Go语言开发的开服排队系统,名为QueueService。其主要作用是在开服时对大量到达服务器的用户进行队列缓冲,依据服务器压力情况,逐步为队列中的用户发放登录服务器的令牌(token),以此缓解登录高峰。排队中的用户能够“实时”知晓自己在队伍中的位置变更。
项目的主要特性和功能
已支持功能
- 实时位置查询与登录:排队用户可实时查询自己所处位置,排到后异步返回登录服务器令牌(token)并进入游戏,且不允许重复排队。
- 用户退出处理:正在排队的用户可退出队列,系统从缓存中踢出该用户,其他用户位置暂不变,处理到该用户消息时直接跳过,后续用户位置才真正变化。
- 数据监控:开发人员能实时查看游戏中的用户数和正在排队的用户数。
待开发功能
- 游戏中用户退出:支持正在游戏的用户退出功能。
- 专用登录队列:增加vip、大v用户专用登录队列。
- 自定义协议心跳包:加入自定义协议心跳包。
安装使用步骤
假设用户已经下载了本项目的源码文件,按以下步骤操作:
1. 编译服务端:进入 QueueService/app/server
目录,执行 go build server.go
命令编译服务端程序。
2. 编译客户端:进入 QueueService/app/client
目录,执行 go build client.go
命令编译客户端程序。
3. 运行测试用例:在 QueueService/app/client
目录下,执行 go test -test.run TestClient
命令运行测试用例。注意,需手动修改客户端连接服务器的ip和端口,服务器配置文件位于 QueueService/conf/config.json
。
4. 退出程序:使用 control + c
退出程序。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】