博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈服务器架构之MMORPG端游
阅读量:6077 次
发布时间:2019-06-20

本文共 1376 字,大约阅读时间需要 4 分钟。

MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的缩写。一般指大型多人在线角色扮演游戏。

这里突出的需求就是多人在线,也就是需要一个大区可以有比较大的承载能力。

所以这里采用的是采用一个可配置可灵活增减容量的多服架构。

客户端:用户机器安装的游戏端,以下简称Client

网关服务器:负责接受客户端的连接,对消息进行前置处理(加密,解密,验证等),然后将消息分发;因为需要对应的是大量的客户端连接,为了保证连接的品质,这里采用的是一个对等的服务器组,以下简称GateServer

中心服务器:载入的是全区所有玩家的数据,也是整个服务器架构的中心,全区玩家之前交互的核心,以下简称CentralServer

登录服务器:负责用户的登录验证,登录可能经常遇到一个峰值的处理,所以这里需要增加一个可配置的登录等待队列,以下简称LoginServer

逻辑服务器:游戏中所有逻辑的处理,也就是服务器压力的所在,这里采用的是一个可配置的服务器组,是根据游戏中场景来加载的,以下简称SceneServer

存储服务器:主要负责从Database加载角色数据,以及存储加色数据,以下简称StorageServer

邮件服务器:对应的主要是游戏中的邮件系统,这里可能有一个很频繁的收发读取邮件的操作,所有单独出一个进程来处理,以下简称MallServer

排名服务器:处理游戏的排行榜,这里可能包括以前需要处理排名的系统功能,以下简称RankServer

名字服务器:由于整个游戏中采用的名字不唯一,所以专门架设一个名字服务器,对多区的名字唯一性进行验证;以及接入各平台时名字屏蔽字的处理和过滤,以下简称NameServer

GM服务器:游戏运营后台处理工具,负责处理一些运营相关的需求,以下简称GmServer

以下为各服务器内部之间的连接关系:

GateServer<————>  CentralServerSceneServer 

CentralServer<————>  GateServerSceneServerLoginServerStorageServer

SceneServer<————>  GateServer CentralServer ,NameServerGmServerMallServerRankServerStorageServer

MallServer<————> SceneServerStorageServer

RankServer<———— SceneServer,StorageServer

这里主要说一些SceneServer的一些具体的设计:

1,如果有角色比较集中的地图的话,单独配置到一个SceneServer,比如主城;其他访问量不大的可以配置到一起。

2,副本地图单独配置SceneServer,这里可以根据玩家实际创建副本的量与单个进程承载量来配置进程数量。

3,逻辑单线程,也是主要的线程;另外网络消息的处理单独线程,Log也单独一个线程来处理

另外该配置也可以根据具体需求来相应的调整。

转载于:https://www.cnblogs.com/special23/p/5083456.html

你可能感兴趣的文章
HTTP2 基础入门
查看>>
让数据传输更安全
查看>>
实现一个requirejs原型demo
查看>>
画一个三角形
查看>>
node ( 5 ) -----process详解(这个标题不讨喜……)
查看>>
浅谈unicode编码和utf-8编码的关系
查看>>
云栖专辑|阿里开发者们的第二个感悟:PG大V德哥的使命感与开放心态
查看>>
分布式定时任务中间件架构及其实现(附GitHub开源地址)
查看>>
理解Angular的providers - 给Http添加默认headers
查看>>
Ionic2入门教程 实现TodoList App-1 初识Ionic2
查看>>
Windows下搭建Git服务器(使用Gitblit)
查看>>
最新版本支付宝与微信支付集成与使用
查看>>
Python 用Django创建自己的博客(1)
查看>>
Activity的启动过程第三篇
查看>>
不能错过的web前端性能优化总结
查看>>
iOS开发中MQTTKit的TLS SSL支持方案
查看>>
mac软件备份
查看>>
挑逗Bootstrap4源代码 - Grid篇(下)
查看>>
3 字符串的扩展
查看>>
Python ImportError: cannot import name
查看>>