应用场景:游戏开发中,服务器经常需要调整时间,比如测活动,要测完整流程需要频繁修改时间
实现方案
1.调整整机时间,这个操作成本太高,会影响到主机的所有用户
2.直接应用层做虚拟时间,需要调用特定接口,如果有逻辑直接调用了系统接口,那么时间就会不一致
3.将server组做成docker,直接修改docker的时间,有个副作用,修改docker时间会将宿主机时间也修改
4.用虚拟机框定server组,可以直接修改时间,单用户单虚拟机,有些门槛,一个策划或者qa会验证n个版本,这样需要n个虚拟机,不好维护
5.faketime,给特定进程隔离的时间定制,可以是一个docker进程,也可以是一组server进程,框定的一个进程范围公用一个时间,隔离性很好
最终选择:
基于以上对比,可以发现faketime是最优选择,我们当前的server没有放到docker里,所以选择把server组框定共用一个faketime
上代码:

本文介绍了一种在游戏服务器中调整时间的方法,通过使用faketime工具,为一组进程提供统一的虚拟时间,确保了服务器在进行活动测试时的时间一致性。
最低0.47元/天 解锁文章
492





