einx游戲服務器和應用服務器開發(fā)腳手架
einx 是一個由 golang 編寫的用于游戲服務器或者應用服務器的開源手腳架。
采用較為傳統(tǒng)的以業(yè)務劃分并發(fā)模塊的方式降低邏輯開發(fā)難度,在邏輯開發(fā)與執(zhí)行效率間取得平衡。
設計核心
模塊與組件的組合機制,模塊是邏輯核心。
引入lua腳本
按業(yè)務分離邏輯
einx/db 組件化數(shù)據(jù)庫相關操作
einx/network 組件化網(wǎng)絡IO,目前只支持TCP
einx/log 異步日志庫
einx/timer 時間輪定時器
einx/module 模塊
einx/component 組件
einx/lua 腳本相關操作
模塊與組件
每個模塊有且僅有一個goroutine用于處理被投遞到本模塊中的消息,在模塊中的邏輯不需要考慮同步問題,簡化了邏輯開發(fā)難度,模塊與模塊之間可以通過RPC交互。
評論
圖片
表情
