当前位置:网站首页>游戏思考15:全区全服和分区分服的思考
游戏思考15:全区全服和分区分服的思考
2022-07-02 01:17:00 【谢白羽】
文章目录
一、全区全服特点
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的方式
边栏推荐
- Part 29 supplement (XXIX) basis of ECMAScript
- Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
- cookie、session、tooken
- Day 13 of hcip (relevant contents of BGP agreement)
- Creating logical volumes and viewing and modifying attributes for AIX storage management
- cookie、session、tooken
- [IVX junior engineer training course 10 papers to get certificates] 09 chat room production
- Global and Chinese market of picture archiving and communication system (PACS) 2022-2028: Research Report on technology, participants, trends, market size and share
- SSO single sign on implementation.
- Look at the industrial Internet from a new perspective and seek the correct ways and methods of industrial Internet
猜你喜欢
![[IVX junior engineer training course 10 papers] 06 database and services](/img/68/967566fc2f1d0b93ecd78bdb208b64.jpg)
[IVX junior engineer training course 10 papers] 06 database and services

How to extract login cookies when JMeter performs interface testing

Principle of finding combinatorial number and template code

2022年6月国产数据库大事记

Review notes of compilation principles

MySQL application day02

测试人进阶技能:单元测试报告应用指南

Edge extraction edges based on Halcon learning_ image. Hdev routine

Learning note 24 - multi sensor post fusion technology

SQL injection for Web Security (2)
随机推荐
Creating logical volumes and viewing and modifying attributes for AIX storage management
Geek DIY open source solution sharing - digital amplitude frequency equalization power amplifier design (practical embedded electronic design works, comprehensive practice of software and hardware)
AIX存储管理之卷组属性的查看和修改(二)
LeetCode、3无重复最长子序列
Liteos learning - first knowledge of development environment
【图像增强】基于Frangi滤波器实现血管图像增强附matlab代码
Deb file installation
Cookie, session, tooken
Shell Function
SAP ui5 beginner tutorial XXI - trial version of custom formatter of SAP ui5
Mitsubishi PLC FX3U pulse axis jog function block (mc_jog)
How can programmers better plan their career development?
Global and Chinese markets for supply chain strategy and operation consulting 2022-2028: Research Report on technology, participants, trends, market size and share
浅浅了解Servlet
BiLSTM-CRF代码实现
Excel search and reference function
[dynamic planning] interval dp:p3205 Chorus
ACM tutorial - quick sort (regular + tail recursion + random benchmark)
Study note 2 -- definition and value of high-precision map
PLC Analog input analog conversion FB s_ ITR (Mitsubishi FX3U)