Wind是什么

Wind是一款面向云的高性能、高效率以及高扩展性的分布式游戏服务器引擎。Wind利用Python语言的简洁语法以及丰富的生态库来提高游戏业务的开发效率,针对一些对性能有要求的游戏业务功能(如实时战斗功能),Wind利用Golang的高并发特性来保证服务的高性能,同时Wind接入云的组件来保证游戏服务的动态扩展性,提高服务资源的利用率。
github地址:https://github.com/ferris1/wind
Wind是游戏服务器界首次结合go与python优点的服务器,如果Wind能解决你的问题的话,希望能帮Wind点个Star,如果不能解决大家的问题的话,也欢迎大家提Issue和Request,我会持续开发和完善Wind。
如果你对游戏服务器不熟悉的话,你可以把Wind想象成服务器界的Unity,Wind的目标就是做服务器界的Unity:功能完善,能满足游戏开发各个阶段的需求,并且简单易上手,扩展性强。
Wind是什么 - 图1

Wind为什么出现

游戏全球化,游戏上云趋势加强,以及早期服务器对云支持的不够好。

游戏全球化以及上云趋势

得益于云计算的低成本、按需灵活配置和高资源利用率的特性,大量的互联网应用已经在云上部署。但游戏服务上云的进度却很缓慢,很少游戏使用kubernetes将服务部署在云上,这其中的原因跟游戏产品的特性以及游戏从业人员的习惯有关系。相对于互联网产品,游戏产品对延时更敏感,如果将游戏服务部署上云的话,会有一些额外运算与路由导致延时增加,这也导致游戏服务上云进程比较缓慢。虽然游戏上云后,可能带来延时,但是随着云游戏的发展以及游戏产品的全球化,游戏上云是一个必然趋势。
近年来,国内开始通过发版号来限制游戏在国内的上线,各个公司的游戏因为没有版号,开始将游戏的目标市场转向海外。游戏在海外上线虽然有着很大的市场空间,但也面临着很大的挑战,对于游戏服务器来说,如果采用集中部署,将所有服务部署在中国,由于网段与地域关系,那产生的延时是非常大的,所以更合理的是针对每个区域部署一部分服务,减少不同地域的延时。但是小公司不可能每个地方去买几个服务器并单独维护,所以更好的方式是利用公有云资源(google云等)来部署游戏服务,针对不同区域的游戏玩家数量,利用公有云资源以及云组件(如kubernetes)来动态伸缩服务。游戏上云可以很好运用云上资源,更灵活的配置服务资源以及更高效的管理服务,降低游戏服务的成本。

早前服务器的不足

早前开源服务器更多关注的是单服务器内部的设计,如云风的Skynet,虽然单服务器性能很高,但没有提供一个很好的服务集群化方案:集群的配置、集群的监控管理、集群间的通信交互以及集群的云部署都很麻烦,集群服务的动态扩展性也不强,导致搭建服务集群困难以及整体服务资源利用率低下。
因此Wind关注于游戏服务的上云,提供一个简洁方便并且扩展性强大的分布式游戏服务引擎,助力游戏服务的出海。