游戏服务端开发技术分享与讨论重点.pptxVIP

  • 10
  • 0
  • 约 28页
  • 2016-12-10 发布于湖北
  • 举报

游戏服务端开发技术分享与讨论重点.pptx

游戏服务端开发 技术分享与讨论哆啦B梦2016.03.28分享与讨论内容服务端设计的几个原则版本管理配置管理分布式及负载均衡线程与同步数据库与数据缓存日志序列化防外挂GMT引擎及自动化工具服务端设计的几个原则可维护性与开发效率模块化,低耦合可运营性运营人员高效、灵活、安全地参与游戏服务器进行数据交互其他可部署性运行效率热更新(程序、数据)可拓展性(横向)版本管理DVCSvsSVNDVCS(DistributedVersionControlSystem)分布式Git、Hg松散协作本地分支、远程分支分支合并时解决冲突SVN单分支紧凑协作开发过程中解决冲突需要版本管理的内容前端代码后端代码配置文件游戏多媒体(图片、音效、动画、etc)开发文档策划文档数据库Schema其它SVN版本管理模型配置管理配置的产生和使用配置管理MySQL表结构JAVAClassAS3ClassExcel配置检测工具JAVAServerAS3Client分布式及负载均衡DB1DB2…DBn守护1守护2…守护n频道管理服务器网关1网关2…网关n登录服务器客户端客户端岛1岛2岛n…CenterRouter线程与同步单线程vs多线程同步阻塞同步vs异步流程连惯性可维护性线程模式多线程+同步充分利用CPU连惯性线程池枯竭脏数据单线程+异步不能充分利用CPU无需考虑数据同步逻辑在代码表现上不连惯任务队列EventLoopSeverClientThreadPooloutQinQEngineEngineCustomCodes数据库与数据缓存缓存策略Hibernate一级缓存,事务级别,save、get、update二级缓存,根据ID做缓存,EhCache、OSCache守护进程(引擎)级别缓存None:不缓存Lazy:第一次使用时加载+过期机制(TTL/ITL)Full:全表缓存业务级别缓存数据复制JPO引用缓存策略选择None:外部更改或者一次性使用的表Lazy:数据量较大、访问不频繁的表Full:频繁访问的表JPC与JPOJPCJavaPersistenceClass一个表对应一个JPCJPOJavaPersistenceObjectJPC的实例避免数据污染一个行最多对应一个JPOWeakRefMapEhCacheDBConnPoolQueryQuery不同缓存策略的查询步骤None直接访问数据Lazy访问缓存访问数据库Full只访问缓存日志监控诊断类日志系统日志(引擎、网络、数据库……)功能日志其他运营类日志消费、任务、副本……分析玩家行为和习惯存于单独数据库,供运维人员整理分析二次数据统计序列化JSON/XML明文、自解析、灵活冗余松散数据类型AMF(ActionMessageFormat)第三方支持冗余低效(相对而言)ByteStream(PlainByte)轻量级、高效强数据类型难做版本间兼容防外挂通讯(网络)加密SSL、TLS内存加密双端验算收集多种数据,前后端商定验算规则服务端加密不信任:客户端输入必验算产出:所有产出由服务端来做GMT引擎与自动工具设计的目录减少硬编码减少重复编码通讯层接口数据结构化和文档化约束开发规范GMT引擎TCP/IPhpptwebsocketGMT通讯协议RMIGMT自动化工具MQJavaAS3PythonC++TSGMTProxyServantSchedulerMSGHandlerMYSQLDBCacheManagerJPOEhCacheWeakRefConnectionPoolJPCGMT中间语言gmtjavacppas3gmt基本数据类型bytebytebyte_t(unsignedchar)intshortshortshortintintinteger(Integer)intintlonglong(Long)long64_tNumber(-2^32或2^54的数值,序列化会有误差)floatfloat(Float)floatNumberdoubledouble(Double)doubleNumberbinarybyte[]std::stringByteArraystringStringstd::stringStringdatejava.util.Datemormi::CDateTimeDategmt复合数据类型listTextendsArrayListTstd::vectorTclasswithArrayOperationsdictKT,VTextendsHashMapKT,VTstd::mapKT,VTclasswithHashArrayOperationsenumclass(枚举值都class的静态int字段)enumclasswithstaticintmembersstructclassclassclassgmt接口

文档评论(0)

1亿VIP精品文档

相关文档