站务联系

1 游戏服务器开发的基本体系与服务器端开发的一些建议(2)

发布时间:2021-04-08   来源:网络整理    
字号:

数据库是储存数据库的核心,但是游戏数据在储存至数据库的时侯会经过网路跟硬盘的IO,它的访问速率相对于显存来说是太慢的。一般来说,每次访问数据库都要跟数据库推行连结,访问完成以后,为了节约数据库的连结资源,要再把连结断掉。

这样无形中又为服务器提高了费用,在大量的数据访问时,可能会更慢,而游戏又是要求低延时的,这时该如何办呢?我们想起了数据库连接池,即把访问数据库的连结放在一个地方管理,用完我不断掉,用的时侯去那拿,用完再放出去。这样不用每天都推行新的连结了。

但是假如要我们自己去实现一套连接池管理组件的话,需要时间不说,对技术的把控只是一个考验,还要再经过检测等等,幸好互联网开源的明天,有一些现成的可以使用,这里推荐Mybatis,即实现了代码与SQL的分离,又有足够的SQL撰写的灵活性,是一个不错的选择。

四,缓存系统

游戏中,客户端与服务器的交互是要求低推迟的,延迟越低,用户感受越好。像之前说过的一样,低推迟就是要求服务器处理业务尽量的快,客户端一个恳求进来,要在最短的时间内响应结果,最低不得超出500ms,因为加上来回的网路传输历时,基本上就是600ms-到700ms了,再长玩家都会认为游戏卡了。

如果直接从数据库中取数据,处理完以后再存回数据库的话,这个功耗是和不上的。在服务器,数据在显存中处理是最快的,所以我们要把一部分常用的数据提早读取至显存中,比如说游戏数据配置表,经常登入的玩家数据等。这样在处理业务时,就不用走数据库了,直接从显存中取就可以了,速度更快。

游戏中常见的缓存有两种:

直接把数据储存在jvm或服务器显存中使用第三方的缓存工具,这里推荐Redis,详细的用法可以自己去查询。(本公号内有系列文章,详情见【菜单栏】- 【技术文章】 - 【基础系列】 - 【实战R1,实战R2】)五,游戏日志

日志是个好东西呀,一个游戏中更不能少了日志,而且日志一定要记录的具体。它是玩家在整个游戏中的行为记录,有了这个记录,我们就可以剖析玩家的行为,查找游戏的不足,在处理玩家在游戏中的问题时,日志只是一个良好的收据跟迅速处理模式。在游戏中,日志分为:

系统日志,主要记录游戏服务器的系统状况。比如:数据库能够正常连结,服务器是否正常启动,数据是否正常读取;玩家行为日志,比如玩家发送了哪些恳求,得到了哪些物品,消费了多少本币等等;统计日志,这种日志是对游戏中所有玩家某些行为的一种统计,根据这个统计来剖析大部分玩家的行为,得出一些共性或不同之处,以方式营运做不同的活动吸引用户消费。

在架构设计中,日志记录一定要做为一种强制行为,因为不强制的话,可能因为某些诱因某个功能忘掉加日志了,那么当这个功能出问题了,或者营运和我们要这个功能的一些数据库,就惊讶了。又得加需求,改代码了。日志一定要设计一种良好的格式,日志记录的数据要容易调用,分解。日志行为可以用穷举描述,在功能最后的处理方式上面加上这个遍历做为参数,这样不管谁在读取这个办法时,都要去加参数描述。俗话说,工欲善其事,必先利其器。游戏管理工具是对游戏运行中的一系列问题处理的一种工具。它除了是给开发人员用,大多数是给营运使用。游戏上线后,我们还要针对线上的问题进行不同的处理。不或许把所有问题都使程序员去处理吧,于是程序员们想起了一个方法,给大家做一个工具,你们爱谁处理谁处理去吧。

六, 游戏管理工具

游戏管理工具是一个不断增跌的系统,因为它这些时侯是伴随着游戏中碰到的问题而实现的。

但是依据经验,有一些功能是应当有的,比如:

根据游戏的不同要求,凡是可以能过工具实现的,都做到游戏管理工具上面。它是针对所有服务器的管理。

图说天下

×
二维码生成