開發語言
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
