如何搭建手游后端服务_第1页
如何搭建手游后端服务_第2页
如何搭建手游后端服务_第3页
如何搭建手游后端服务_第4页
如何搭建手游后端服务_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何搭建手游后端服务手游后端服务需求分析单服支持最大同时在线3000-10000人服务器响应速度尽量控制在20ms以内单个玩家的卡顿,不可影响服务器对其他玩家的响应强制断电,保证玩家数据完整性,保证回档时间不超过一分钟重度计算类功能可拆分多玩家交互玩法操作具有时序保证弱联网情况的解决方案伪造协议包的解决方案最大在线人数的支持通信协议NIO支持上万客户端服务器16G内存假设一个玩家有20个模块,每模块20个对象假设每个对象20个字段,每个字段200bytes3000用户的内存=20*20*20*200*3000=4.8G通信协议HTTP过于重度,大多数字段对于服务器与客户端之间的通信没有意义。TCP可自定义协议类型UDP可自己实现可靠性,弱联网推荐序列化:JSON,PROTOBUFFER,字节流IO:BIO(不考虑)选择NIO或者AIOIO框架:NETTY,MINA服务器响应速度的支持使用NETTY作为网络接入层在Logical架构中将IO与逻辑运算隔离将玩家数据加载到内存中,使业务运算,与IO完全无关数据持久化使用异步操作消息响应使用异步操作玩家之间计算资源隔离将玩家的计算请求封装成为任务将任务放入特定的任务队列中使用线程池循环遍历所有的任务队列A队列有阻塞任务,并不影响其他队列中其他玩家任务的执行。根据需求可以把多个玩家放入同一个队列,共享计算资源强制断电的数据保证游戏后端有基于内存做运算的特性需要定时将内存数据同步到数据库在两个同步操作之间如果断电,会导致数据大量回档。我们采用关键数据同步写,非关键数据异步实时写入的方案。异步入库方案取数据使用异步任务存数据使用异步任务存数据和取数据使用同一个线程组同一个玩家的存取任务HASH到同一个线程Logical-Server重度计算类功能拆分方案重度功能模块独享线程和队列,根据需求可独立成为一个服务时序保证以消息到达服务器的时间为时序标准即时战斗弱联网解决方案TCP存在的问题移动端信号不稳定,导致TCP大量丢包重传信道不稳定,TCP滑动窗口,导致传输效率低下UDP+自定义可靠性传输,能够缓解TCP存在的问题伪造协议包的解决方案常常伪造方就是客户端本身除非客户端包不可破解,否则没有完全规避的方法一般性方案,包体做加密,同时做MD5签名,包体被破解,该方案无效明文传输,服务器开发过程中做合法性校验最终结构图手游客户端简介3D模型简介白模:以三角形为基本绘图单元构成的三维模型。UV贴图在模型的皮肤上附加颜色值动画系统给模型加上骨骼和时间函数,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论