美文网首页程序员@IT·互联网
不同类型游戏后台架构的思考

不同类型游戏后台架构的思考

作者: 码农老K | 来源:发表于2017-10-25 11:09 被阅读0次

目前接触的游戏主要有两类:分区分服,全区全服。

分区分服:如果从后台架构上做区分,分区分服特点:

1.每个服都有各自独立的DB;

2.数据不互通(除非业务做跨服数据的玩法);

不同业务有着不同分区分服方式:

分区:

1.对网络有特别要求的游戏,可能会是针对国内运营商网络环境进行分区,有电信区,网通区等等,比如LOL,QQ飞车;

2.针对游戏世界观分区,比如部落守卫战;

3.上公司平台的游戏,还会针对不同平台进行分区,比如QZone,QQGame大区等等;

分服:

个人接触的分配方式原则:

1.单服承载上限;

2.从运营角度考虑,每个服的注册玩家,活跃玩家,这点在目前很多页游上尤其明显,经常使用滚服的模式来让RMB玩家在开服阶段确立优势,所有这些游戏开服频率非常高,当然合服频率也非常高;

分区分服的架构成熟简单,一般是个三层架构,如图,是一个典型的MMORPG的三层分区分服架构:

第一层:Cluster层,一些全局模块或者World层级的消息转发;

第二层:World层,一个服的集合,这里有服务器的DB存储以及全服的公告模块;

第三层:Zone层,一条线,这里负责玩家接入以及业务逻辑处理;

全区全服:

1.从DB层看,所有玩家数据在同一个DB;

2.所有玩家竞争共享相同资源。

如下图,是一个典型的全区全服的SNS的后台架构图

架构上分为两层:

第一层,DB层,负责DB存储;

第二层,逻辑层,负责游戏逻辑;

为什么要做架构的区分?

1.游戏类型的不同,导致需要在DB层做区分:全区全服只有一个DB,但是分区分服的每个服都有独立的DB;

2.游戏类型的不同,导致数据互通性不同:逻辑服务器页游必要做区分,比如各个平台需要独立运营,独立结算,开服活动只能针对特定服等等;

3.单服承载的玩家数量级不同,导致架构上调整:全区全服所有玩家在一个服,分区分服玩家分摊在各个不同服,单服玩家数量不在一个级别,导致架构上的考量不同。

架构做了区分,在实际开发中需要注意什么?

架构上区分,导致后台面临的压力不同:

1.DB层:分区分服DB承载单服压力,一般游戏单服PCU是千级,甚至百级,DB读写压力小,采用MySQL基本满足要求;全区全服DB承载所有玩家,PCU达到百万级别,读写压力大,单一的MySQL不能满足读写压力,需要因为读写并发高的DB组件,比如互娱的Tcaplus,TEG的CMem等等。

2.平滑扩容:全区全服的扩容是因为整个游戏后台,在外网不停机扩容中,需要考虑扩容对整个后台的影响,而分区分服因为面临扩容机会少,有开服情况,也是独立的新建整个服,对其他服基本无影响;

3.容灾方面:全区全服在某个服务器进程出现问题时,该模块的压力可能会偏向同等功能的其他进程,需要处理雪崩情况,避免影响全服。而分区分服因为天然的服与服之间的隔离性,在这一块压力小很多;

相关文章

  • 不同类型游戏后台架构的思考

    目前接触的游戏主要有两类:分区分服,全区全服。 分区分服:如果从后台架构上做区分,分区分服特点: 1.每个服都有各...

  • 不同类型游戏的服务器架构设计

    不同类型游戏服务器的架构不同,卡牌游戏、长链接游戏、房间类游戏都会有不同的服务器设计方案,每一次架构迭代都要解决特...

  • 无状态和有状态

    之前做过的游戏都是有状态的mmorpg类型,即角色数据都是在内存中。对于不同的架构,当进程挂掉时,如果不写坏内存可...

  • Unity 游戏框架搭建 (六) 关于框架的一些好文和一些思考

    在进行项目架构阶段,游戏框架可以解决一部分问题。剩下的架构问题还需要根据不同的项目解决。总之游戏框架是游戏架构的一...

  • 节选|玩的力量——嬉戏和游戏是怎样让孩子茁壮成长的

    综合运用各种类型的游戏 不同类型的游戏对孩子有不同的益处: 玩具和物体游戏 玩儿实物玩具的时候,婴儿们运用他们的感...

  • [Druid] 2 系统架构

    1、系统架构 Druid集群是由不同类型的节点组成的,每个类型的节点被设计用来执行一组特定的任务。不同的节点类型操...

  • 10步了解互联网应用架构(转载)

    互联网发展至今,从个人网站到大型购物网站,不同类型的网站导致了需求架构的不同。每个网站都有其对应的技术架构。不同的...

  • Ecshop后台(1) —商品管理

    商品类型不同于商品分类:商品分类展示于前台,商品类型则对应不同商品的属性、便于后台管理。 用户评论独立...

  • 游戏中如何保障玩家的数据安全

    这个主要看游戏类型和服务器架构,如果是web类型的游戏,数据大多放在redis和mysql,相对来说是很安全的,即...

  • 0-数据类型

    1、通过type定义的类型,与原类型不同。 2、计算架构相关的整数类型 3、显式表达自身宽度的整数类型 4、浮点数...

网友评论

    本文标题:不同类型游戏后台架构的思考

    本文链接:https://www.haomeiwen.com/subject/hkqqpxtx.html