
游戏服务端框架之业务线程模型
发布日期:2021-05-06 20:09:47
浏览次数:20
分类:技术文章
本文共 579 字,大约阅读时间需要 1 分钟。
请求消息绑定线程策略的选择
在上一篇文章中,我们看到,消息是直接在网络框架的io线程中处理的。这样做有一个非常严重的缺陷,如果业务处理比较耗时,那么io线程接受消息的速度就会下降,严重影响io的吞吐量。
典型的,我们应该另起线程池,专门用于异步处理玩家的请求消息。
在我之前的一篇文章(),谈到可以通过某种映射,将玩家的请求分发到特定的线程进行处理,这样可以避免同一个玩家的请求需要进行线程同步。
在那篇文章,我们采用的映射策略是——将玩家的角色id与工作线程总数进行求模映射,这种模型其实是一种简单的策略。在极端的情况下,会造成非常多的玩家请求在同一条线程上(登录的玩家id不具有负载均衡性)。
采用什么映射策略,跟游戏本身的类型关联非常大。
举个例子,如果游戏的类型是一款MMORPG(大型多人在线游戏),场景地图非常大,游戏的战斗发生在服务端,pvp同步策略采用状态同步。这样的战斗方案为了减少锁竞争,往往要求同一张地图的所有玩家请求在一条线程上。特别的,由于战斗发生在服务端,怪物的行为,场景定时任务的执行,也应保证在同一条线程上。所以,这类游戏的请求消息映射策略往往跟场景id挂钩。
另外一些游戏类型,比如休闲游戏,或者虽然是rpg游戏,但战斗发生在客户端(服务端只做检验),映射策略跟场景没关系,只需保证负载均衡即可。
本文以第二种类型做演示。<
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月07日 17时16分52秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CENTOS 删除nginx
2019-03-03
【redis键过期删除策略】很高兴再次认识你
2019-03-03
【工具篇】EasyExcel的应用
2019-03-03
SSM发送手机验证码——以网建SMS为例
2019-03-03
大范围卫星影像快速处理
2019-03-03
监控264后缀文件播放
2019-03-03
网站在线偷拍照片源码
2019-03-03
动态摇动吊牌自适应网站404页面源码
2019-03-03
炫酷文字消失动画网站404页面源码
2019-03-03
EMLOG模板山河网站主题分享
2019-03-03
2019数字音乐市场年度回顾,QQ音乐全面领先
2019-03-03
花1亿扶持优质红人,如涵推动网红经济出圈之路有何深意?
2019-03-03
抢滩抖音、B站,快手港股IPO进程加速
2019-03-03
Linux中的虚拟内存机制和内存映射
2019-03-03
Android系统启动系列5 SystemServer进程下
2019-03-03
Android四大组件系列9 ContentProvider原理
2019-03-03
理解PendingIntent
2019-03-03
Android SurfaceFlinger4 提交Buffer
2019-03-03
深入理解 ClientLifecycleManager 机制
2019-03-03
android基础知识回顾--ContentProvider简单用法
2019-03-03