现在go语言比较流行的有leaf,gowold,origin。前两个比较基础,实现集群还需要进行二次的编码设计。origin不一样,只需要通过配置方便快速的集群。origin总体设计如go语言设计一样,总是尽可能的提供简洁和易用的模式,快速开发。 能够根据业务需求快速并灵活的制定服务器架构。 利用多核优势,将不同的service配置到不同的node,并能高效的协同工作。 将整个引擎抽象三大对象,node,service,module。通过统一的组合模型管理游戏中各功能模块的关系。
origin引擎三大对象关系
---------------
* Node: 可以认为每一个Node代表着一个origin进程
* Service:一个独立的服务可以认为是一个大的功能模块,他是Node的子集,创建完成并安装Node对象中。服务可以支持对外部RPC等功能。
* Module: 这是origin最小对象单元,强烈建议所有的业务模块都划分成各个小的Module组合,origin引擎将监控所有服务与Module运行状态,例如可以监控它们的慢处理和死循环函数。Module可以建立树状关系。Service本身也是Module的类型。
更加详细的参照项目地址:
https://github.com/duanhf2012/origin