网游服务器 Services-based 和 Cells-based 架构
(金庆的专栏 2018.3)
无缝世界网游服务器架构的设计思路
http://blog.csdn.net/SmartTony/article/details/6842065
提出了2种网游服务器架构:
* Services-based architecture 基于服务的架构
* Cells-based architecture 基于cell的架构
基于服务的架构按功能划分成不同服务,不同服务实现于不同的进程。
而基于cell的架构使用相同的Cell进程组成一个集群,每个Cell进程包含全部的功能。
基于服务的架构一直是主流的架构,自从 microservice 和 service mesh 概念相继流行,
基于微服务的架构应该会成为未来的方向。
在无缝大地图网游中,应该用基于cell的架构来实现地图及相关功能,
其他与位置无关的功能则应该尽量按服务实现。
考虑到服务来回调用延时较大,对于实时性强的功能,如PK也应该在cell上实现。
可以考虑客户端通过专门的网关来连接cell, 使用udp/kcp来减小时延。
而其他非实时性服务由Tcp网关转发。
服务器内部可全部统一采用 gRPC.