前言

这个篇章主要介绍skynet_fly_demo的设计,如何基于skynet_fly_demo做开发。我将会以讲解一个个问题的方式带你走进了解skynet_fly_demo。

skynet_fly_demo简介

skynet_fly_demo是基于skynet_fly的试验性项目,目的是全面的使用skynet_fly的功能并验证其可行性。
skynet_fly_demo深度的使用了skynet_fly如下功能:
orm
cluster rpc
日志切割
time_point整点报时定时器
room_game游戏房间类架构
http server
ws gate
jwt

架构图

skynet_fly_demo整体的架构是为大厅房间类游戏设计的,整个后端的服务都是用skynet_fly实现,包括后台。实现上采用了分布式架构,保证了系统的横向扩展性。目前在8核8G虚拟机压测5000机器人,服务器机器人同机器运行,没有出现性能瓶颈。

center server(唯一服务)

记录处理需要全服唯一的数据。比如所有玩家的账号信息。全服邮件。全服唯一ID等等。

log server (唯一服务)

记录全局的日志信息。比如其他服务严重错误日志,错误堆栈(收集),这样可以通过后台方便的查看服务器有没有出现严重错误。这样服务多的时候就不必一个服一个服去翻看日志文件(这很痛苦,效率也很低)

login server (可多开)

玩家登录注册的门户,通常流量较大。需要支持多开,必要时需要做登录排队,限流等功能。此服务保证了已登录的玩家不受未登录的玩家的流量影响。

hall server (可多开)

每个玩家注册后,都会绑定一个大厅服,玩家通过大厅服操作一下邮件、活动、任务、商店、匹配游戏等等功能。

match server (唯一服务)

提供各个游戏的匹配功能,协调游戏服创建房间。

game server (可多开)

各个游戏具体实现的游戏逻辑,玩家被分配到房间后,直连游戏服。

robot server (可多开)

各个游戏的机器人实现。

admin server (唯一服务)

后台服务


前言
https://huahua132.github.io/2023/05/03/skynet_fly_word/word_4/A_home/
作者
huahua132
发布于
2023年5月3日
许可协议