关于skynet_fly_demo的架构设计
架构图
简介
skynet_fly_demo是基于skynet_fly框架,开发对战类游戏架构,适用于moba
、棋牌
类游戏架构。
各服务职责
center server 中心服
- 记录用户账户信息,比如账号,密码,手机号,注册渠道,设备号,平台等等信息。
- 记录用户创角信息,比如玩家ID,归属大厅服ID等等。
- 可以记录一些全局唯一的信息,比如登录的公告信息等等。
- 验证登录服登录。
login server 登录服
- 登录限流,防止突发的流量挤爆中心服。
hall server 大厅服
- 签发token, 验证登录。
- 负责大厅的商城,活动,任务,邮件,等等交互逻辑。
log server 日志服
- 记录所有服务的错误日志。
- 记录玩家的行为日志。
- 记录游戏的记录日志。
- 等等。
match server 匹配服
- 匹配玩家,分配公共的游戏房间供玩家进入。
game server 游戏服
- 实现具体的游戏逻辑。
admin server 后台服
- 服务监控。
- 数据看板等等。
- 后台相关需求。
各服务功能细节
admin server 后台服
使用skynet_fly(后端) + vue(前端)架构。
服务监控
后台服会间隔一分钟去采集各个服务节点的运行信息。目前实现仅仅保留7天的采集信息。实时列表
查看各个服务节点当前运行信息。警告日志
各个服务节点的严重错误日志,或者断言错误都会汇总到这里,方便查看解决。后台角色权限管理
通过角色权限划分,不同角色有不同的访问权限。后台用户管理
可以管理不同的后台账号。
后续功能待补充。
center server 中心服
中心服只有一个,记录了全服玩家的账号信息,账号信息需要考虑分表,负责对玩家id的分配(保证全服唯一,方便后续做合服处理),玩家归属的大厅服的分配。
login server 登录服
提供账号注册功能,登录限流。
hall server 大厅服
每个玩家只能归属一个大厅服,这样玩家的数据能够固定使用rpc调用从大厅服拿取。
log server 日志服
警号日志收集
game server 游戏服
中国象棋游戏
match server 匹配服
负责游戏房间匹配
robot server 机器人服
负责具体游戏的机器人补充
游戏
关于skynet_fly_demo的架构设计
https://huahua132.github.io/2024/02/17/think/skynet_fly_demo/