基于Lua和OpenResty的游戲服務器框架 :GameBox Cloud Core
GameBox Cloud Core 為開發者提供一個穩定可靠,可伸縮的服務端架構,讓開發者可以使用 Lua 腳本語言快速完成服務端的功能開發。
主要特征:
-
穩定可靠、經過驗證的高性能游戲服務端架構
基于 OpenResty_ 和 LuaJIT_ 架構,得到了包括 CloudFlare 等大型機構的應用,無論是穩定性還是性能都得到了驗證。
GameBox Cloud Core 在 OpenResty 之上封裝了一個 Lua Server Framework,為開發者創建游戲服務端功能提供了一個容易學習、容易擴展的基礎架構。
-
使用 Lua 腳本語言開發服務端功能
也許您認為在服務端使用 Lua 腳本顯得有點不務正業,但 NodeJS 的流行卻證明了合適的基礎架構可以讓一種語言突破原本的應用場景。更何況相比 NodeJS,OpenResty 提供的同步非阻塞編程模型,可以避免寫出大量的嵌套 callback,不管是從開發效率還是維護成本上來說都更勝 NodeJS。
用 Lua 腳本語言開發服務端功能還有一個巨大的好處,那就是可以和使用 Cocos2d-Lua(quick-cocos2d-x)的客戶端共享大量代碼。比如數據 Schema 定義、數據對象、游戲邏輯等等,都可以在客戶端和服務端之間共享同一份代碼。做過網絡游戲的同學一定對如何保持客戶端和服務端代碼在數據接口上的一致頭疼過。現在使用 GameBox Cloud Core,這些問題統統消失不見。
-
支持短連接和長連接,滿足從異步網絡到實時網絡的各種需求
GameBox Cloud Core 支持 HTTP 和 WebSocket_ 兩種連接方式,分別對應短連接和長連接,滿足了異步和實時網絡游戲的需求。
WebSocket 是一種通訊協議。在連接時通過 HTTP 協議進行。在客戶端和服務端連接成功后,則變成標準的 TCP Socket 通訊。
而相比自己實現 TCP Socket,WebSocket 已經內部處理了數據包的拼合、拆分等問題,極大簡化了服務端底層的復雜度。而在傳輸性能、帶寬消耗上,WebSocket 相比傳統 TCP Socket 沒有任何區別。