Skynet基于Actor模式的开源框架

Skynet是一个轻量级的开源游戏服务器框架,采用Actor模式设计,支持单进程和分布式结构。文章介绍了Skynet的发展历程、代码规模、特性以及适用场景,强调了其在异步编程、远程过程调用、Lua沙盒等方面的优势,并分享了一个学习资源。此外,还探讨了Skynet在MMORPG服务器性能上的表现以及在实际游戏项目中的应用和优化策略。
摘要由CSDN通过智能技术生成

使用多进程解决高并发带来的问题是进程安全锁,框架经常会因为部分代码的报错而导致死锁或内存占用不释放等诸多问题。而使用单进程的服务器框架,通过线程池来做消息轮询和任务执行,能够避开锁带来的诸多问题。

框架的初衷

  • 众核时代的并行编程

  • 免费的晚餐已经结束了(The Free Lunch Is Over -- Herb Sutter, 2005)

  • E5420(2.5GHz 2004) VS E5-2620v3(2.4GHz 2014)

  • 我们获得了更多的核心、更多的线程、更大的缓存、更大的带宽。我们得不到更高的主频。

Erlang

  • 1998年Erlang开源

  • 2006年传入国内C++程序员圈 Erlang China User Group始于2007,现改名为Effective Cloud User Group

  • 并行和分布式 Erlang采用的Actor模式使其增长并行处理,错误处理机制和储存管理为分布式服务,Erlang并不擅长存储密集型数值计算。

Actor模式

  • 一切都是Actor 一切都是Object?并行的面向对象模式!创建actor/处理消息/发送消息。发送的消息和发送者解耦、异步通讯。

  • 没有Actor的语言提供的框架 Akka by Scala、CAF: C++ Actor Framework by C++、Remact.Net by .net

Skynet

  • 2010 年想法</

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值