分享

游戏服务器开发喜欢用的Skynet

 199cloud 2020-06-19

游戏服务器开发喜欢用的Skynet

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多