分散式遊戲伺服器端框架 Firefly
Firefly是免費、開源、穩定、快速擴充套件、能 “熱更新”的分散式遊戲伺服器端框架,採用Python編寫,基於Twisted框架開發。它包括了開發框架和資料庫快取服務等各種遊戲伺服器基礎服務,節省大量遊戲開發的工作時間,真正做到讓使用者把精力放在遊戲玩法邏輯上。用它可以搭建自定義的分散式架構,只需要修改相應的配置檔案即可。
優勢特性
-
採用單執行緒多程式架構,支援自定義的分散式架構;
-
方便的伺服器擴充套件機制,可快速擴充套件伺服器型別和數量;
-
與客戶端採用TCP長連線,無需考慮粘包等問題;
-
封裝資料快取服務;
-
可實現實時熱更新資料以及遊戲邏輯,客戶端玩家無感覺;
-
有幾十個基礎遊戲玩法系統模組提供組裝使用(v1.3.0提供);
框架介紹
management, firefly 是個多程式、分散式的遊戲伺服器。因此各遊戲server(程式)的管理和擴充套件是firefly很重要的部分,框架通過抽象使伺服器的擴充套件非常容易。
Network,客戶端連線通訊、server程式間的通訊等構成了整個遊戲框架的脈絡,所有遊戲流程都構建在這個脈絡上。與客戶端的通訊採用的是請求/迴應式的,所以受到的客戶端的請求,服務端都會給出相應的迴應,服務端也能主動的推送,廣播給客戶端訊息。這些請求是基於指令號的請求。(例如定義101為登陸指令)server程式之間的通訊時採用的非同步回撥的方式,這樣就減少了的程式間通過網路通訊中的時間消耗。
Data, 資料處理是網遊的重要部分。在網遊有大量的資料需要儲存,需要更新,這使得資料庫的讀寫效率成為伺服器的最大的效能瓶頸。firefly的db處理能夠將資料庫表中的資料快取到memcache中並能以物件的形式進行呼叫相應的物件方法對資料進行操作。可以在不同的程式中通過例項化相同的名稱的快取例項,得到同步的資料。並能將快取物件中的資料寫回資料庫中。
框架思路
一個最基本的伺服器就是一個在不停執行著的應用程式。在分散式遊戲伺服器中,我們需要的伺服器具有的功能有,監聽客戶端的連線,監聽其他服務程式的訊息,連線其他的服務程式,有些需要有資料庫連線和快取服務。如下圖
net connect 做客戶端連線,root監聽其他服務程式訊息,node連線其他服務程式,db資料庫,cache快取。是否需要監聽客戶端連線,是否監聽其他服務程式訊息等這是都是可以在config.json中進行配置。包括各個伺服器的名稱以及各個伺服器之間的連線關係。這樣就可以自定義出自己的分散式架構。
Firefly團隊:我們或有不足,但我們不停努力!
相關文章
- 分散式框架分散式框架
- mqant分散式伺服器框架設計動機MQ分散式伺服器框架
- RPC框架/高效能遠端同步呼叫框架/分散式服務框架RPC框架分散式
- [分散式][Redis]Redis分散式框架搭建與整合分散式Redis框架
- 框架篇:分散式鎖框架分散式
- [原始碼解析] PyTorch 分散式(15) --- 使用分散式 RPC 框架實現引數伺服器原始碼PyTorch分散式RPC框架伺服器
- [分散式]--Dubbo分散式服務框架-服務治理分散式框架
- PHP高效能分散式應用伺服器框架-SwooleDistributedPHP分散式伺服器框架
- 分散式框架Dubbo入門分散式框架
- 分散式通訊框架 - rmi分散式框架
- 分散式通訊框架 – rmi分散式框架
- 淘寶分散式框架 Fourinone 2.0分散式框架None
- C#客戶端Redis伺服器的分散式快取C#客戶端Redis伺服器分散式快取
- 分散式服務框架之遠端通訊技術及原理分析分散式框架
- 分散式服務框架 gRPC分散式框架RPC
- .NET分散式框架 | Orleans 知多少分散式框架
- 微服務分散式企業框架微服務分散式框架
- go遊戲伺服器框架Go遊戲伺服器框架
- 分散式配置中心客戶端分散式客戶端
- 分散式系統:遠端呼叫分散式
- 分散式服務框架 Zookeeper -- 管理分散式環境中的資料分散式框架
- 解密分散式事務框架-Fescar解密分散式框架
- 分散式流量控制框架sentinel初探分散式框架
- JEESZ分散式框架開發環境部署分散式框架開發環境
- Python 並行分散式框架 CeleryPython並行分散式框架
- 伺服器後端開發系列——《實戰FastDFS分散式檔案系統》伺服器後端AST分散式
- 遊戲伺服器 遠端登入遊戲伺服器工具遊戲伺服器
- 微軟的分散式應用框架 Dapr Helloworld微軟分散式框架
- 極簡,高效能分散式 PHP 框架分散式PHP框架
- lms框架分散式事務使用簡介框架分散式
- 框架篇:分散式全域性唯一ID框架分散式
- 阿里分散式事務框架 GTS 全解析阿里分散式框架
- 設計一個分散式RPC框架分散式RPC框架
- 微服務分散式事務Saga框架微服務分散式框架
- 反思|分散式框架是必須的嗎?分散式框架
- Cacheonix:Java分散式叢集快取框架Java分散式快取框架
- Java 開源分散式快取框架EhcacheJava分散式快取框架
- 分散式服務框架開發筆記分散式框架筆記