开发语言
Golang能重复利用多核计算能力,提升承载能力,简单易用,内存安全,运行效率高于各种脚本语言
框架比较
- cellnet是一个组件化、高扩展性、高性能的开源服务器框架
- Leaf 是一个模块化、多核支持、稳定的开源游戏服务器框架
- GoWorld一个分布式可扩展、可热更新的游戏服务器框架
特性对比
| - | cellnet | GoWorld | leaf |
|---|---|---|---|
| 传输协议支持 | TCP、UDP、HTTP、WebSocket | TCP、KCP、WebSocket | TCP、websocket |
| 编码支持 | Google Protobuf、json、二进制协议Gryffindor | Google Protobuf(未来支持)、 MessagePack | protobuf、json |
| 远程过程调用RPC | 支持同步、异步RPC | 支持 | 支持 |
| 日志管理 | 支持 | 支持 | 支持 |
| 热更新 | 支持 | ||
| 空间和实体 | 支持(AOI管理多个空间和实体) | ||
| 分布式 | 支持 | 支持 | |
| 流量压缩与加密 | 支持(客户端和服务器之间的流量) | ||
| 支持并发量 | 一个多核高性能的主机上运行dispatcher可以支持100万以上的同时在线 | ||
| 数据库 | MongoDB和Redis | MongoDb | |
| 定时器 | 支持 |
方案选择
由于cellnet架构简洁、组件化、高性能等原因,选择此架构进行二次开发
目标特性
编码:Google Protobuf 、json
传输协议支持:http、tcp、websocket
支持远程过程调用:异步同步
支持分布式部署
日志跟踪
支持MySql、MongoDB
