開源服務器框架

Pomelo
html

Pomelo的框架組成html5

pomelo包括三部分:node

  • 框架, pomelo的核心, 與以往單進程的遊戲框架不一樣, 它是高性能、分佈式的遊戲服務器框架,而且使用很簡單
  • 庫, 包括了開發遊戲的經常使用工具庫, 如人工智能(ai), 尋路, aoi等
  • 工具包, 包括管理控制檯, 命令行工具, 壓力測試工具等

pomelo特性web

  • 快速、易上手的遊戲開發模型和api
  • 高可伸縮的多進程架構, 支持MMO的場景分區和其它各種分區策略
  • 方便的服務器擴展機制,可快速擴展服務器類型和數量
  • 方便的請求、響應、廣播、服務器通信機制, 無需任何配置
  • 注重性能,在性能、可伸縮性上作了大量的測試、優化
  • 提供了較多擴展組件,包括遊戲開發經常使用的庫和工具包
  • 提供了完整的MMO demo代碼(客戶端html5),能夠做爲很好的開發參考
  • 基於socket.io開發,支持socket.io支持的多種語言客戶端

爲何使用pomelo?數據庫

高併發、高實時的遊戲服務器的開發是很複雜的工做。跟web應用同樣, 一個好的開源容器或開發框架能夠大大減小遊戲開發的複雜性,讓開發變得更加容易。
遺憾的是目前在遊戲服務器開發領域一直沒有太好的開源解決方案。 pomelo將填補這個空白, 打造一款徹底開源的高性能(併發)遊戲服務器框架。 pomelo的優點有如下幾點:npm

  • 架構的可伸縮性好。 採用多進程單線程的運行架構,擴展服務器很是方便, node.js的網絡io優點提供了高可伸縮性。
  • 使用很是容易, 開發模型與web應用的開發相似,基於convention over configuration的理念, 幾乎零配置, api的設計也很精簡, 很容易上手。
  • 框架的鬆耦合和可擴展性好, 遵循node.js微模塊的原則, framework自己只有不多的代碼,全部component、庫、工具均可以用npm module的形式擴展進來。任何第三方均可以根據本身的須要開發自定義module。
  • 提供完整的開源MMO遊戲demo參考(基於HTML 5)。 一個超過1萬行代碼的遊戲demo,使開發者能夠隨時借鑑demo的設計與開發思路。
http://www.oschina.net/p/pomelo

Firefly
json

Firefly是免費、開源、穩定、快速擴展、能 「熱更新」的分佈式遊戲服務器端框架,採用Python編寫,基於Twisted框架開發。它包括了開發框架和數據庫緩存服務等各類遊戲服務器基礎服務,節省大量遊戲開發的工做時間,真正作到讓使用者把精力放在遊戲玩法邏輯上。用它能夠搭建自定義的分佈式架構,只須要修改相應的配置文件便可。

優點特性

採用單線程多進程架構,支持自定義的分佈式架構;
方便的服務器擴展機制,可快速擴展服務器類型和數量;
與客戶端採用TCP長鏈接,無需考慮粘包等問題;
封裝數據緩存服務;
可實現實時熱更新數據以及遊戲邏輯,客戶端玩家無感受;
有幾十個基礎遊戲玩法系統模塊提供組裝使用(v1.3.0提供);

框架介紹api

management, firefly 是個多進程、分佈式的遊戲服務器。所以各遊戲server(進程)的管理和擴展是firefly很重要的部分,框架經過抽象使服務器的擴展很是容易。

Network,客戶端鏈接通訊、server進程間的通訊等構成了整個遊戲框架的脈絡,全部遊戲流程都構建在這個脈絡上。與客戶端的通訊採用的是請求/迴應式的,因此受到的客戶端的請求,服務端都會給出相應的迴應,服務端也能主動的推送,廣播給客戶端消息。這些請求是基於指令號的請求。(例如定義101爲登錄指令)server進程之間的通訊時採用的異步回調的方式,這樣就減小了的進程間經過網絡通訊中的時間消耗。

Data, 數據處理是網遊的重要部分。在網遊有大量的數據須要存儲,須要更新,這使得數據庫的讀寫效率成爲服務器的最大的性能瓶頸。firefly的db處理可以將數據庫表中的數據緩存到memcache中並能以對象的形式進行調用相應的對象方法對數據進行操做。能夠在不一樣的進程中經過實例化相同的名稱的緩存實例,獲得同步的數據。並能將緩存對象中的數據寫回數據庫中。
框架思路
一個最基本的服務器就是一個在不停運行着的應用程序。在分佈式遊戲服務器中,咱們須要的服務器具備的功能有,監聽客戶端的鏈接,監聽其餘服務進程的消息,鏈接其餘的服務進程,有些須要有數據庫鏈接和緩存服務。
net connect 作客戶端鏈接,root監聽其餘服務進程消息,node鏈接其餘服務進程,db數據庫,cache緩存。是否須要監聽客戶端鏈接,是否監聽其餘服務進程消息等這是都是能夠在config.json中進行配置。包括各個服務器的名稱以及各個服務器之間的鏈接關係。這樣就能夠自定義出本身的分佈式架構。緩存

基於Firefly + cocos2d-x的卡牌手遊《暗黑世界V1.0》源碼開放下載


http://www.oschina.net/news/43361/firefly-game-download服務器

相關文章
相關標籤/搜索