游戏服务器为什么选用Actor模型,《百万在线》给你答案

9be1ad31a116cc07d64b6a9e9184142e.gif

游戏服务器需要承载很多玩家,开发者需要选择合理的架构。Actor模型是一种常用的游戏服务端架构模型,在选用Skynet、Erlang方案的公司中广泛应用。

从硬件角度看待架构划分

游戏服务端选用的抽象模型,它既要符合硬件资源的运行特性,尽可能的提高运行效率,也要尽可能的符合对游戏内容的抽象。对于传统软件,人们总结出很多设计模式,比如工厂模式、观察者模式等等;类似的,在并发编程领域,人们也总结出很多模式,Actor就是其中一种。

6ee472241a9eae074b8fcfe571b90c96.png

图:从硬件角度看待服务端架构

游戏服务器需要承载很多玩家,意味着要尽可能的利用硬件资源。现代CPU都是多核CPU,多核CPU的特性表现在操作系统对多线程的处理能力上。


多进程/多线程的限制

理论也许枯燥,我们通过一个例子来说明,假如要开发一款如下图的斗地主游戏,而且预计玩家数量很多。

7cfb1f4283225cda192e7cbfc64b89a6.png

图:斗地主游戏示意图

传统方法是开启多个进程,每个进程处理多张桌子的逻辑。如果每个进程可以处理10张桌子,单台物理机开启100个进程就可以支撑3000名玩家。

但是,进程A和进程B究竟是什么东西?叫做

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值