游戏服务器开发喜欢用的Skynet
发布时间:2020/6/18 15:57:11 来源: 纵横数据
游戏服务器开发喜欢用的Skynet
Skynet是新兴的一种通用型游戏服务器框架(完全开源),它游走在传统不易分布游戏服务器和分布式服务器之间。它是一种泛用型框架,不仅能很好的作为游戏服务器框架使用,而且用来搭建HTTP服务也具有惊人的性能(几百行代码的简单HTTP实现,能达到nginx 60%的性能)。
矛盾的是,由于它对脚本虚拟机做了一些重要的Hack,导致它完全绑定在了Lua这一种语言上。
Skynet原理阐述:
把服务抽象为微服务,一个系统内可以建立成千上万个微服务,Skynet调度m个线程(m=CPU核心数)、处理n个微服务各自的事件。
由于n个微服务在同一个进程内,可以达到0延迟的内部通信(极端情况下无拷贝)
同时Lua虚拟机又提供了沙盒机制,微服务之间的Lua逻辑代码不会有任何干扰,必要的时候又可以在C语言层面、Lua沙盒之外共享数据。
由于服务本身有良好的隔离性,可以较为方便的把服务部署到多台游戏服务器上(考虑到性能问题,不能像BigWorld那样任意部署)。
Skynet这种架构已经在Lua体系的游戏公司内大量使用(以网易系为代表),悄无声息的渗透到其他公司里。【艾娜小编】
本文来源:
https://www.zndata.com/article/2801.html
[复制链接]
链接已复制
上一篇:游戏服务器框架BigWorld
下一篇:高性能游戏服务器架构特点