文章目录

  • 一、全区全服特点
    • 1)架构图
    • 2)特点
    • 3)关于拆分多进程业务的作用
  • 二、分区分服特点
    • 1)架构图
    • 2)特点
  • 三、两者的对比选择
    • 1)尽量选择`全区全服`的设计方式,优点如下:
    • 2)两者在架构上的区别
    • 3)后台压力的区别
  • 四、随意留言

一、全区全服特点

1)架构图

2)特点

1)全区全服就只有一个DB
2)全区全服没有分区的概念,但它会有一个中心通信模块,并且整个大区在逻辑上只有一个DB
3)全区全服画出了很多业务进程

3)关于拆分多进程业务的作用

多进程当业务进程的必要性

二、分区分服特点

1)架构图

2)特点

1)分区分服的每个服都有独立的DB
2)分区分服模型一般在前端会有一个导航模块,用于区服选择
3)区与区之间如果需要通信的话,往往会使用跨服模块,对于一些需要跨服的功能,比如包含所有区的排行榜,可能还会为此增加一个公共DB(或直接存在对应服务器的内存上)。
4)从业务逻辑来看,分区分服架构里每个区只画了一个「World」
5)分区分服架构下,大家认为每个区玩家数量比较少,也有可能受限于开发时间、开发资源、技术储备等原因,没有把业务逻辑拆分得足够细,因此一般只有一个「World」,或者把游戏逻辑放在少数几个进程当中。
6)分区分服中单机容量可能受限,我们建议要适当考虑平行扩容相关的设计。像刚才说的单个「world」做平行扩容比较困难,是不是可以把核心逻辑拆分出来,也做成单个进程做单种业务的服务器
7)全区全服可以共享机器。我们知道,游戏后台会有很多进程,但每个进程的资源消耗其实不一样。而我们虽然会有很多区,但做运营活动时,每个区参与的用户数量可能会有所区别。如果采用全区全服的方式,我们就可以共享机器资源(会导致对资源调度、动态扩缩容和容灾备份的要求较高)

三、两者的对比选择

1)尽量选择全区全服的设计方式,优点如下:

①后续运营运维成本会比较低,因为它物理上只有一个环境,我们投入的运维人力更可控。
②全区全服可以共享机器。我们知道,游戏后台会有很多进程,但每个进程的资源消耗其实不一样。而我们虽然会有很多区,但做运营活动时,每个区参与的用户数量可能会有所区别。如果采用全区全服的方式,我们就可以共享机器资源
缺点:

这也会导致对资源调度、动态扩缩容和容灾备份的要求较高。

2)两者在架构上的区别

(1)存储方式的不同,导致需要在DB层做区分:全区全服就只有一个DB,但是分区分服的每个服都有独立的DB。
(2)游戏类型的不同,导致数据互通性不同;逻辑服务器页游必要作区分,比如各个平台需要独立运营,独立结算,开服活动只能针对特定服等等;
(3)单服承载的玩家数量级不同,导致架构上调整:全区全服所有玩家在一个服,分区分服玩家分摊在各个不同服,单服玩家数量不在一个级别,导致架构上的考量不同。

3)后台压力的区别

(1)DB层承载压力不同:分区分服DB承载单服压力,一般游戏单服PCU是千级,甚至百级,DB读写压力小,采用MySQL基本满足要求;全区全服DB承载所有玩家,PCU达到百万级别,读写压力大,单一的MySQL不能满足读写压力,需要因为读写并发高的DB组件,比如互娱的Tcaplus,TEG的CMem等等。
(2)平滑扩容:全区全服的扩容是因为整个游戏后台,在外网不停机扩容中,需要考虑扩容对整个后台的影响,而分区分服因为面临扩容机会少,有开服情况,也是独立的新建整个服,对其他服基本无影响;
(3)容灾方面:全区全服在某个服务器进程出现问题时,该模块的压力可能会偏向同等功能的其他进程,需要处理雪崩情况,避免影响全服。而分区分服因为天然的服与服之间的隔离性,在这一块压力小很多;

四、随意留言

有的腾讯游戏会利用tredis去做全区全服,redis的读写速度如果磁盘是500MB/s,真正的读写速度能达到480-490MB/s,但是之后一段时间的存储io写磁盘的卡顿,会掉到50-80MB/s,这样的速度才能满足单DB对于全区全服服务器的要求,但是普通小公司就没有tredis这种随时宕机都能恢复数据的平台工具,一般都会采用mysql去存,而mysql集群的存储速度也会控制在500MB/s,需要做成协程配合进程的方式,如果不能改成异步协程链接mysql,那就需要做成多进程连接mysql或开线程池连接mysql的方式

游戏思考15:全区全服和分区分服的思考相关推荐

  1. 游戏全区全服和分区分服 QQ斗地主的设计

    游戏全区全服和分区分服  QQ斗地主的设计 https://cloud.tencent.com/community/article/164816001481011910?fromSource=gwzc ...

  2. 一个游戏大量合服代表什么_[游戏服务器从入门到关门]4.分区分服、连服、合服...

    相信大家都玩过分区分服的游戏,输入账号,选择区服(或是先选择区服,再登录账号,这两个逻辑不同),进入游戏,一刀999. 游戏中的每个区就相当于一个独立世界,每个区的玩家都是隔离开的,大家互不可见,每个 ...

  3. 分区分服和全区全服的对比

    为什么要做架构的区分? 1.游戏类型的不同,导致需要在DB层做区分:全区全服就只有一个DB,但是分区分服的每个服都有独立的DB.  2.游戏类型的不同,导致数据互通性不同:逻辑服务器页游必要作区分,比 ...

  4. 浅谈全区全服架构的SNS游戏后台

    首先说下分区分服和全区全服的概念,查了一下资料,没有找到合适的定义.说下自己的理解:所有游戏服务器都有玩家数据库,如果以数据库为单位划分Set,单Set如果能承载超过10万的同时在线,可以认为是全区全 ...

  5. 全区全服模式下的分布式解决方案

    大纲 全区全服架构基础 全民飞机大战PK系统的分布式设计方案 全区全服架构 全区全服架构是通过一组相同的游戏逻辑进程提供对外服务.客户端通过负载均衡策略如TGW接入后台 任一游戏逻辑进程, 对于玩家而 ...

  6. 神无月服务器今日维修,2.12神无月全区全服服务器(除了已更新的服务器)更新公告...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2.12神无月全区全服服务器(除了已更新的服务器)将于2.12日00:15进行版本更新.更新内容如下 [新角色] 新角色将于2月15日10点正式亮相,目前 ...

  7. yy部分地区服务器升级维护,3月5日全区全服更新公告 - YY大皇帝 YY大皇帝独家官网 YY大皇帝新手卡...

    亲爱的各位玩家: 羊年开工第一周,我们又继续回来为大家带来最新的游戏内容啦!在3月5日0点,我们将会对全区全服进行一次更新维护,希望各位玩家能喜欢我们奉上的新内容,也衷心希望大家继续给<大皇帝& ...

  8. 龙之谷服务器仓库在哪个位置,全区全服版本更新至Ver.190

    各位亲爱的玩家: <龙之谷>全区全服已维护完毕,版本更新至 Ver.190.由于 华东电信四区  和 南方电信一区 已提前更新至Ver.190,故这两个大区仅为例行维护.也已维护完毕.请玩 ...

  9. 龙之谷服务器更新文件,全区全服 维护结束 更新至Ver.417

    本帖最后由 一尾双鱼 于 20-5-22 17:50 编辑 各位亲爱的谷迷: <龙之谷>于 2020/05/21 早上07:00 开始对 全区全服 进行 更新至Ver.417. 目前服务器 ...

最新文章

  1. 【译】在ASP.Net和IIS中删除不必要的HTTP响应头
  2. java 数据类型model_如何在角度2中使用类数据类型的ngModel?
  3. 如何实现从wgs-84到beijing54的坐标转换
  4. ToString格式化
  5. 一款jQuery立体感动态下拉导航菜单特效
  6. 服务端高并发分布式架构演进之路(转载,图画的好)
  7. 获奖名单出炉,快来看看有没有你!
  8. 如何通过js调用接口
  9. 使用nginx负载均衡的webservice wsdl访问不到_Nginx 反向代理、负载均衡图文教程,写得太好了!...
  10. 阿里出品的最新版 Java 开发手册,嵩山版,扫地僧
  11. c语言 电阻器的分类,电阻器的详细介绍与分类以及其应用
  12. 有关单片机驱动IR2104遇到的问题及解决方法
  13. CT图像重建中的伪影
  14. 定时任务task:annotation-driven配置
  15. Docker安装Tomcat,安装elasticsearch+kibana
  16. 教程篇(7.0) 05. FortiGate基础架构 IPsec安全隧道 ❀ Fortinet 网络安全专家 NSE 4
  17. STM32CubeIDE使用总结(三)——debug调试程序
  18. java怎么做3d可视化图形
  19. 程序猿成长之路之密码学篇-DES介绍
  20. 八键电话号码的字母组合

热门文章

  1. 2022口碑最好的无线蓝牙耳机推荐,适合学生党购买的蓝牙耳机品牌
  2. Python获取股票数据及其可视化--基于tushare库
  3. Python —— 魔方方法
  4. 在CSS中实现height:100%-200px; width:100%-200px,既长度或宽度百分百减去200px
  5. 客户旅程_从编码训练营到报价—我的1280小时旅程
  6. 【论文阅读】深度学习去雾1——论文精选
  7. ConcurrentHashMap(jdk1.8)讲解及常见面试题
  8. sx1268 中文_SX1268原理图_SX1268芯片datasheet_SX1268数据手册_SX1268无线收发器模块_SX1268用户手册_一牛网...
  9. 深入了解,学习线索二叉树
  10. [19]python uniform() 函数