关于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/
作者
huahua132
发布于
2024年2月17日
许可协议