开发语言

Golang能重复利用多核计算能力,提升承载能力,简单易用,内存安全,运行效率高于各种脚本语言

框架比较

  • cellnet是一个组件化、高扩展性、高性能的开源服务器框架
  • Leaf 是一个模块化、多核支持、稳定的开源游戏服务器框架
  • GoWorld一个分布式可扩展、可热更新的游戏服务器框架

特性对比

-cellnetGoWorldleaf
传输协议支持TCP、UDP、HTTP、WebSocketTCP、KCP、WebSocketTCP、websocket
编码支持Google Protobuf、json、二进制协议GryffindorGoogle Protobuf(未来支持)、 MessagePackprotobuf、json
远程过程调用RPC支持同步、异步RPC支持支持
日志管理支持支持支持
热更新 支持
空间和实体 支持(AOI管理多个空间和实体)
分布式 支持支持
流量压缩与加密 支持(客户端和服务器之间的流量)
支持并发量 一个多核高性能的主机上运行dispatcher可以支持100万以上的同时在线
数据库 MongoDB和RedisMongoDb
定时器  支持

方案选择

由于cellnet架构简洁、组件化、高性能等原因,选择此架构进行二次开发
目标特性

 编码:Google Protobuf 、json
 传输协议支持:http、tcp、websocket
 支持远程过程调用:异步同步
 支持分布式部署
 日志跟踪
 支持MySql、MongoDB