einx是一个由golang编写的用于游戏服务器或者应用服务器的开源手脚架。
采用较为传统的以业务划分并发模块的方式降低逻辑开发难度,在逻辑开发与执行效率间取得平衡。
设计核心模块与组件的组合机制,模块是逻辑核心。
引入lua脚本
按业务分离逻辑
einx/db组件化数据库相关操作
einx/network组件化网络IO,目前只支持TCP
einx/log异步日志库
einx/timer时间轮定时器
einx/module模块
einx/component组件
einx/lua脚本相关操作
模块与组件每个模块有且仅有一个goroutine用于处理被投递到本模块中的消息,在模块中的逻辑不需要考虑同步问题,简化了逻辑开发难度,模块与模块之间可以通过RPC交互。
评论