Leaf 是一個由 Go 語言(golang)編寫的開發(fā)效率和執(zhí)行效率并重的開源游戲服務器框架。Leaf 適用于各類游戲服務器的開發(fā),包括 H5(HTML5)游戲服務器。
目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設計、炎陵網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Leaf 的關注點:
良好的使用體驗。Leaf 總是盡可能的提供簡潔和易用的接口,盡可能的提升開發(fā)的效率
穩(wěn)定性。Leaf 總是盡可能的恢復運行過程中的錯誤,避免崩潰
多核支持。Leaf 通過模塊機制和 leaf/go 盡可能的利用多核資源,同時又盡量避免各種副作用
模塊機制。
Leaf 的模塊機制
一個 Leaf 開發(fā)的游戲服務器由多個模塊組成(例如 LeafServer),模塊有以下特點:
每個模塊運行在一個單獨的 goroutine 中
模塊間通過一套輕量的 RPC 機制通訊(leaf/chanrpc)
Leaf 不建議在游戲服務器中設計過多的模塊。
游戲服務器在啟動時進行模塊的注冊,例如:
leaf.Run( game.Module, gate.Module, login.Module, )
這里按順序注冊了 game、gate、login 三個模塊。每個模塊都需要實現(xiàn)接口:
type Module interface {OnInit()OnDestroy()Run(closeSig chan bool) }
Leaf 首先會在同一個 goroutine 中按模塊注冊順序執(zhí)行模塊的 OnInit 方法,等到所有模塊 OnInit 方法執(zhí)行完成后則為每一個模塊啟動一個 goroutine 并執(zhí)行模塊的 Run 方法。
最后,游戲服務器關閉時(Ctrl + C 關閉游戲服務器)將按模塊注冊相反順序在同一個 goroutine 中執(zhí)行模塊的 OnDestroy 方法。
以上就是golang leaf用的多嗎的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)其它相關文章!
分享文章:leaf框架介紹
文章地址:http://sd-ha.com/article14/jgiige.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、網(wǎng)站制作、網(wǎng)站改版、虛擬主機、動態(tài)網(wǎng)站、響應式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)