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也单独一个线程来处理

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

浅谈服务器架构之MMORPG端游相关推荐

  1. Java架构师成长之道之浅谈计算机系统架构

    Java架构师成长之道之浅谈计算机系统架构 Java架构师成长之旅 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.人工智能和区块链为代表的新兴技术三个阶段.而 ...

  2. 浅谈分布式架构搭建-理论知识

    浅谈分布式架构搭建 基础 理念 技术选型 后端技术设计 总体架构设计 关键案例设计 架构师搭建架一般优先考虑的是安全性.稳定性.高吞吐量.哈哈,菜鸟的我让我装个B,回忆一下以前架构搭建 基础 理念 C ...

  3. 【夸夸其谈】浅谈rogue元素在商业手游的运用

    Rogue一词相信不用过多介绍,作为近几年手游上的热词,玩家可以在各个平台的头图和标签都能看到,恰如几年前的"二次元"标签一样.玩家和厂商对于rogue词的第一印象通常是" ...

  4. 浅谈服务器http并发数的影响因素

    目录 浅谈服务器http并发数的影响因素 一.问题的提出 1.1.讨论此问题的假设(基本条件) 1.2.计量时间 二.讨论影响因素 2.1.首先要评估客户端应用(下文统称App)本身 2.2.单位时间 ...

  5. 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...

    浅谈三层架构 收藏 自己理解的原理 http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044665.html 浅谈三层架构  通过这个,+Jav ...

  6. 什么是proxy服务器代理?怎么设置代理服务器?浅谈服务器代理与VPN的区别

    服务器 服务器是计算机的一种,它比普通计算机运行更快.负载更高.价格更贵.服务器在网络中为其它客户机(如PC机.智能手机.ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务.服务器具有高速的C ...

  7. 浅谈数据架构师所应具备的技能和素养

    DT时代,"数据架构师"这样的角色起到越来越重要的作用.能力越大责任也就越大,因此对于这个角色也有了越来越高的要求.那到底对于数据架构师有什么要求呢?对于想成为数据架构师的同学职业 ...

  8. (浅谈SOA架构)------SOA架构演变由来

    SOA架构演变由来 一:了解市场上系统架构 1.1:市面上有那些架构? (1):单体架构 (2):垂直架构 (3):分布式服务架构 (4):SOA架构 (5):微服务架构 1.2:各自架构的优缺点 1 ...

  9. 浅谈——网络安全架构设计(二)

    (34条消息) 浅谈--网路安全架构设计(一)_孤城286的博客-CSDN博客 目录 一.实现需求: 二.安全优化: (1)修改后网络架构 (2)安全评估: 三.再优化 (1)优化方案 (2)防火墙区 ...

最新文章

  1. 05-连接数据库方法
  2. Boost:基于Boost的异步TCP回显服务器
  3. python包裹 函数_什么是最干净的方法调用一个Python函数从C++与一个Sigg包裹的Obj....
  4. 四中方式实现单例模式
  5. Spring源码 --Idea module 相互引用
  6. LeetCode 2151. 基于陈述统计最多好人数(状态压缩)
  7. 【Flink】Flink Association with remote system akka Connection refused
  8. Openldap 整合windows AD认证
  9. mysql 热切换_热璞HotDB学习篇—如何基于MySQL进行数据高可用
  10. .NET中异常类(Exception)
  11. 本特利电涡流传感器 330876-02-90-01-CN
  12. java事务 深入Java事务的原理与应用
  13. VMX(2) -- VMCS理解
  14. 驯服最难以捉摸的野兽──创新
  15. ppt的字母上面插入尖号
  16. 【云原生】还不会使用linux?快看这里,在window快速安装centos系统
  17. 关于bootstrap4 以下 与bootstrap5 的区别
  18. ping回显请求超时time out故障解决过程
  19. Linux以太网卡软硬件架构
  20. android蓝牙耳机接入,Android跟蓝牙耳机建立连接有两种方式

热门文章

  1. Hadoop环境搭建及常见问题解决(保姆级教程)
  2. 7-8 九连环问题(c++解决)
  3. 利用PS、win10自带的照片、3D画图去除公章照片里面的文字,并且仿真的具体操作
  4. Ubuntu 20.04 Desktop 安装
  5. 中值滤波算法的Verilog实现
  6. 利用Wireshark截取ICMP数据包,并对数据包进行解析
  7. 目标检测——传统算法
  8. uniapp日历原生插件
  9. 电脑录屏怎么露脸?这3个录屏软件可同时录制摄像头!
  10. HighTec软件如何申请License