Firefly 的重要迭代版本 GFirefly 已經獨立推出並運維了進9個月時間,已有200餘家國內各大手機遊戲廠商開始陸續使用GFirefly 進行其新手遊產品的開發。(2014遊戲行業國內最大黑馬「龍圖遊戲」有3款自研產品均使用GFirefly)node
鑑於從0.1.2版本開始GFirefly已經基本穩定,本次Firefly官方正式宣佈將GFirefly整合進Firefly官方git中。git
GFirefly(全稱:Firefly-Gevent)是Firefly的Gevent版本,相比以前Firefly版本中所使用的Twisted,Gevent更加的精簡和高效。github
GFirefly結合了Gevent的性能,封裝了網絡IO處理、數據庫IO讀寫緩存、分佈式進程間接口調用,這樣使得遊戲server端的開發變得既輕鬆簡單又穩定高效。開發者沒必要在去糾結處理這些技術難題,專心致力於遊戲玩法邏輯的開發便可。數據庫
與以前的Firefly相比,GFirefly省略了遠程調用過程當中添加回調函數callback的步驟。緩存
你能夠這樣去寫遠程調用的方法:網絡
result = root.callChild("test_node",1,u'Root測試')運維
#這裏不會阻塞的,在結果返回以前會執行別的協程socket
print result分佈式
#當結果返回的時候會繼續往下執行函數
這次更新的GFirefly alpha 0.1.5作了以下的改進:
一、 單node節點斷開與root節點的鏈接後自動重連。
二、 修改了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