- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游戏服务器端所完成的事.doc
游戏服务端??所完成的事??情(四)
游戏世界状??态的维护方??式
2.1数据服务??的定位
游戏世界的??状态可以简??单分为两个??部分,一部分是需??要存档的,比如玩家数??据;一部分是不??需要存档的??,比如场景状??态。
对于访问较??频繁的部分??,比如场景状??态,会维护成纯??内存数据;对于访问较??不频繁的部??分,比如玩家存??档,就可以考虑??维护在第三??方。这个第三方??,就是数据服??务。
数据服务与??之前所提到??的场景服务??、IM服务等??都属于应用??层的概念。数据服务通??常也会依赖??于一种基础??设施抽象,那就是缓存??。
2.1.1 传统架构中??的数据服务??
传统MMO??架构中,数据服务的??概念非常模??糊。
我们还是先??通过回顾发??展历史的形??式来厘清数??据服务的定??义。回到场景进??程的发展阶??段,玩家状态是??内存中的数??据,但是服务器??不会一直开??着,因此就有了??存盘(文件或db??)需求。但是随着业??务变复杂,存盘逻辑需??要数据层暴??露越来越多??的存储AP??I细节,非常难扩展??。因此发展出??了Db代理??进程,场景进程直??接将存档推??给Db代理??进程,由Db代理??进程定期存??盘。 这样,存储API??的细节在D??b代理进程??内部闭合,游戏逻辑无??须再关注。场景进程只??需要通过协??议封包或者??RPC的形??式与Db代??理进程交互??,其他的就不??用管了。 Db代理进??程由于是定??期存盘,因此它相当??于维护了玩??家存档的缓??存。这个时候,Db代理进??程就具有了??数据服务的??雏形。 跟之前的讨??论一样,我在这里又??要开始批判??一番了。
很多团队至??今,新立项的项??目都仍然采??用这种Db??代理进程。虽然确实可??以用来满足??一定程度的??需求,但是,存在几个致??命问题。
第一,Db代理进??程让整个团??队的代码复??用级别保持??在copy??-paste??层面。玩家存档一??定是项目特??定的,而采用Db??代理进程的??团队,通常并不会??将Db代理??进程设计成??普适、通用的,毕竟对于他??们来说,Db代理进??程是场景进??程和存盘之??间的唯一中??间层。举个例子,Db代理进??程提供一个??LoadP??layer??的RPC接??口,那么,接口实现就??一定是具体??游戏相关的??。
第二,Db代理进??程严重耦合??了两个概念??:一个是面向??游戏逻辑的??存储API??;一个是数据??缓存。数据缓存本??质上是一种??新的基础设??施抽象,kv发展了??这么多年,已经涌现出??无数高度成??熟的工业级??缓存基础设??施,居然还有新??立项游戏对??此后知后觉??。殊不知,自己对Db??代理进程再??怎么做扩展??,也不过是在??featu??re set上逐??渐接近成熟??的KV,但是在可用??性上就是玩??具和工业级??生产资料的??差距。举个最简单??的例子,有多少团队??的Db代理??进程能提供??一个规范化??的容忍多少??秒掉线的保??证?
第三,Db代理进??程在分区分??服架构下通??常是一区一??个的,一个很重要??的原因就是??Db代理进??程通常是自??己YY写出??来的,很少能够解??决扩容问题??。如果多服共??用一个Db??代理进程,全局单点给??系统增加不??稳定性的问??题暂且按下??不表,负载早就撑??爆了。但是只是负??责缓存玩家??存档以及将??存档存盘,这跟之前讨??论过的全局??IM服务定??位非常类似??,又有什么必??要分区分服???
我们可以构??建一个数据??服务解决这??些问题。至于依赖的??具体缓存基??础设施,我之后会以??redis??为例。
redis??相比于传统??的KV比如??memca??che、tc,具有不同的??设计理念,redis??的定位是一??种数据结构??服务器。游戏服务端??开发可以拿??redis??当缓存用,也可以直接??当一个数据??库用。
数据服务解??决了什么问??题
数据服务首??先要解决的??就是玩家存??档问题。redis??作为一个高??性能缓存基??础设施,可以满足逻??辑层的存档??需求。同时还可以??实现额外的??落地服务,比如将re??dis中的??数据定期存??回mysq??l。之所以这样??做,一方面是因??为redi??s的定位是??高性能缓存??设施,那就不希望??它被rdb??、aofre??write??机制拖慢表??现,或者卡IO??;另一方面是??对于一些数??据分析系统
您可能关注的文档
- PSK与DPSK系统性能分析.doc
- 数字中继E及中国一号信令简介分解.doc
- 工艺工法QCQC成果减少保障房砖混住宅窗间墙裂缝汇报.doc
- [工学]万吨-年_苯-甲苯连续精馏装置工艺设计_精馏塔设计说明书_化工设计.doc
- 光纤传感教学大纲.doc
- 光电编码器测试系统设计-毕业论文.doc
- 可调直流稳压电源v--v.doc
- 法人代持协议书.doc
- 巴间郭楞公司存货管理研究.doc
- 单片机毕业课程设计——智能电风扇.doc
- DB14T 3462-2025 井工煤矿人工智能视觉识别技术要求.pdf
- 专练01 七上《朝花夕拾》—2024年中考语文名著导读抢分练(全国通用)(原卷版).pdf
- 专题29 小说常考题+病句的10个“不放过”-2023年中考语文热点作文素材解读及运用.pdf
- 专题15 最新热点时评与写作角度解读+「人民日报」时评文章精选金句汇总-2023年中考语文热点作文素材解读及运用.pdf
- 专题12 九下《儒林外史》—2024年中考语文名著导读抢分练(解析版).pdf
- 专题28 思辨类话题名言金句+5篇关于经典人物的精彩时评+热点时评-2023年中考语文热点作文素材解读及运用.pdf
- 11 七下期中记叙文阅读训练-2022-2023学年七年级语文下册知识梳理与能力训练(部编版).pdf
- 04 人物传记阅读 -2022-2023学年七年级语文下册知识梳理与能力训练(部编版) .pdf
- 专题06 八上《红星照耀中国》—2024年中考语文名著导读抢分练(解析版).pdf
- 专练02 七上《西游记》—2024年中考语文名著导读抢分练(全国通用)(原卷版).pdf
最近下载
- 护士给药环节差错防范改.ppt VIP
- (高清版)DB31∕T 1578-2025 微型消防站建设与运行要求.pdf VIP
- 《瑞幸咖啡财务造假案例分析》9300字.pdf VIP
- 2021版:IgG4相关性疾病诊治中国专家共识(最全版).pdf VIP
- QSY 08124.3-2018石油企业现场安全检查规范 第3部分:修井作业.pdf VIP
- Unit 1 My classroom PartB (同步练)人教PEP版 英语四年级上册 .docx VIP
- (完整版)高一化学铁及其化合物练习题.pdf VIP
- 《波形钢腹板》标准.docx VIP
- 郑子太极拳十三篇郑曼青.pdf VIP
- (优质!)2025医用压缩式雾化器研究资料.pdf
文档评论(0)