游戏服务器设计的思考
gevent 并发模型:缺点:多玩家交互的时候需要使用锁,bug 比较隐蔽。进行耗时较长的查询时有可能某些资源已经过期,也需要使用锁保护。
Mudos Like: 优点:游戏逻辑进程同一时间只处理一个玩家的一个请求 缺点:与玩家交互比较密集的时候需要用到异步回调,需要从磁盘读数据的时候要异步回调,搞得写函数很恶心。而且回调函数里需要把前面的检查再做一次,跟 gevent 的并发模型比较没有了优势。
展望 erlang: 将游戏的功能按服务的方式提供,不提供服务时就关闭进程,进程间用消息机制解耦合,方便处理服务重启的情况。能够保证最小服务提供的情况下稳定长时间运行。
Tag:
python