Firefly 的重要迭代版本 GFirefly 已经独立推出并运维了进9个月时间,已有200余家国内各大手机游戏厂商开始陆续使用GFirefly 进行其新手游产品的开发。(2014游戏行业国内最大黑马“龙图游戏”有3款自研产品均使用GFirefly)
鉴于从0.1.2版本开始GFirefly已经基本稳定,本次Firefly官方正式宣布将GFirefly整合进Firefly官方git中。
GFirefly(全称:Firefly-Gevent)是Firefly的Gevent版本,相比之前Firefly版本中所使用的Twisted,Gevent更加的精简和高效。
GFirefly结合了Gevent的性能,封装了网络IO处理、数据库IO读写缓存、分布式进程间接口调用,这样使得游戏server端的开发变得既轻松简单又稳定高效。开发者不必在去纠结处理这些技术难题,专心致力于游戏玩法逻辑的开发即可。
与之前的Firefly相比,GFirefly省略了远程调用过程中添加回调函数callback的步骤。
你可以这样去写远程调用的方法:
result = root.callChild("test_node",1,u'Root测试')
#这里不会阻塞的,在结果返回之前会执行别的协程
print result
#当结果返回的时候会继续往下执行
此次更新的GFirefly alpha 0.1.5做了如下的改进:
1、 单node节点断开与root节点的连接后自动重连。
2、 修改了GFirefly的底层库GTiwsted(Firefly官方自研),将socket发送数据放到一个协程中进处理。在发送数据的时候,会将发送的数据放到一个队列中有发送数据的协程读取发送,解决了 AssertionError: This socket is already used by another greenlet 的错误。
Firefly官方维护团队:9秒社团
Firefly Git地址(内含gfirefly):https://github.com/9miao/Firefly
Firefly OSC@GIT地址:http://git.oschina.net/9miao/firefly
GFirefly独立Git地址:https://github.com/9miao/G-Firefly
GTwisted独立Git地址:https://github.com/9miao/gtwisted