faketime实现游戏服务器时间定制

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

应用场景:游戏开发中,服务器经常需要调整时间,比如测活动,要测完整流程需要频繁修改时间

实现方案

1.调整整机时间,这个操作成本太高,会影响到主机的所有用户

2.直接应用层做虚拟时间,需要调用特定接口,如果有逻辑直接调用了系统接口,那么时间就会不一致

3.将server组做成docker,直接修改docker的时间,有个副作用,修改docker时间会将宿主机时间也修改

4.用虚拟机框定server组,可以直接修改时间,单用户单虚拟机,有些门槛,一个策划或者qa会验证n个版本,这样需要n个虚拟机,不好维护

5.faketime,给特定进程隔离的时间定制,可以是一个docker进程,也可以是一组server进程,框定的一个进程范围公用一个时间,隔离性很好

最终选择:

基于以上对比,可以发现faketime是最优选择,我们当前的server没有放到docker里,所以选择把server组框定共用一个faketime

上代码:

faketime:GitHub - wolfcw/libfaketime: libfaketime modifies the system time for a single applicationlibfaketime modifies the system time for a single application - GitHub - wolfcw/libfaketime: libfaketime modifies the system time for a single application

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值