原地址:http://bbs.gameres.com/forum.php?mod=viewthread&tid=219285php
Firefly是免费、开源、稳定、快速扩展、能 “热更新”的分布式游戏服务器端框架,采用Python编写,基于Twisted框架开发。它包括了开发框架和数据库缓存服务等各类游戏服务器基础服务,节省大量游戏开发的工做时间,真正作到让使用者把精力放在游戏玩法逻辑上。用它能够搭建自定义的分布式架构,只须要修改相应的配置文件便可。
优点特性
node
框架介绍
management, firefly 是个多进程、分布式的游戏服务器。所以各游戏server(进程)的管理和扩展是firefly很重要的部分,框架经过抽象使服务器的扩展很是容易。
Network,客户端链接通讯、server进程间的通讯等构成了整个游戏框架的脉络,全部游戏流程都构建在这个脉络上。与客户端的通讯采用的是请求/回应式的,因此受到的客户端的请求,服务端都会给出相应的回应,服务端也能主动的推送,广播给客户端消息。这些请求是基于指令号的请求。(例如定义101为登录指令)server进程之间的通讯时采用的异步回调的方式,这样就减小了的进程间经过网络通讯中的时间消耗。
Data, 数据处理是网游的重要部分。在网游有大量的数据须要存储,须要更新,这使得数据库的读写效率成为服务器的最大的性能瓶颈。firefly的db处理可以将数据库表中的数据缓存到memcache中并能以对象的形式进行调用相应的对象方法对数据进行操做。能够在不一样的进程中经过实例化相同的名称的缓存实例,获得同步的数据。并能将缓存对象中的数据写回数据库中。
框架思路
一个最基本的服务器就是一个在不停运行着的应用程序。在分布式游戏服务器中,咱们须要的服务器具备的功能有,监听客户端的链接,监听其余服务进程的消息,链接其余的服务进程,有些须要有数据库链接和缓存服务。以下图
net connect 作客户端链接,root监听其余服务进程消息,node链接其余服务进程,db数据库,cache缓存。是否须要监听客户端链接,是否监听其余服务进程消息等这是都是能够在config.json中进行配置。包括各个服务器的名称以及各个服务器之间的链接关系。这样就能够自定义出本身的分布式架构。
Firefly团队:咱们或有不足,但咱们不停努力!Firefly 开源一切!数据库