xingo分布式游戏服务器开发框架
xingo是免费、开源、可定制、可扩展、节点支持“热更新”的高性能分布式服务器开发框架,采用golang语言开发,天生携带高并发场景的处理基因,继承了golang语言本身的各种优点,开发简单易上手并且功能强大。它主要实现了高性能的异步网络库,分布式节点间的高性能rpc通信,日志管理,数据库支持(暂时只支持mongodb),goroutine安全的定时器,telnet在线服务器调试工具等,可用的开发场景包括但不局限于IM即时通讯服务器,游戏服务器(已有多款公司级别的项目选择了xingo)等可以节省大量游戏开发时间,让游戏开发人员可以将主要精力放到游戏玩法和游戏逻辑上。真正实现了修改配置文件就可以搭建自定义的分布式服务器架构。
优势特点:
1) 开发效率高
2) 支持自定义的分布式架构,方便横向扩展节点,理论上只要有足够的物理机器,没有承载上限
3) 支持自定义通信协议
4) 分布式节点自动发现,自动重连
5) worker pool工作线程池
6) telnet在线服务调试工具(使用方便扩展简单)
7) 内置mongodb数据库支持
8)goroutine安全的定时器实现
示例配置:
{ "master":{"host": "192.168.2.225","rootport":9999}, "servers":{ "gate2":{"host": "192.168.2.225", "rootport":10000,"name":"gate2", "module": "gate", "log": "gate2.log"}, "gate1":{"host": "192.168.2.225", "rootport":10001,"name":"gate1", "module": "gate", "log": "gate1.log"}, "net1":{"host": "192.168.2.225", "netport":11009,"name":"net1","remotes":["gate2", "gate1"], "module": "net", "log": "net.log"}, "net2":{"host": "192.168.2.225", "netport":11010,"name":"net2","remotes":["gate2", "gate1"], "module": "net", "log": "net.log"}, "net3":{"host": "192.168.2.225", "netport":11011,"name":"net3","remotes":["gate2", "gate1"], "module": "net", "log": "net.log"}, "net4":{"host": "192.168.2.225", "netport":11012,"name":"net4","remotes":["gate2", "gate1"], "module": "net", "log": "net.log"}, "admin":{"host": "192.168.2.225", "remotes":["gate2", "gate1"], "name":"admin", "module": "admin", "http": [8888, "/static"]}, "game1":{"host": "192.168.2.225", "remotes":["gate2", "gate1"], "name":"game1", "module": "game"} } }
示例架构图:
评论