流放之路数据库事故后一个月 -- 读 reddit 评论

45 阅读4分钟

官网的通告

2024 年 11 月 14 日下午,流放之路游戏官网发布了这样一条通告:

image.png

新西兰中部时间今天上午 9 点,我们关闭了新账户系统的部署环境。这次迁移预计需要四小时左右。

问题首先出在,迁移实际比在测试硬件上运行的时间要长,这使得停机时间比我们预计的多出一个小时。

下午两点左右恢复游戏后,我们发现许多玩家经常断开连接。这是由于一个后台主服务器崩溃,导致了在线账户会话信息丢失。我们花了约 15 分钟调查原因,但无法立即找到解决方案,因此决定回滚补丁。不幸的是,这种情况下,由于部署过程涉及大量数据库迁移,通常很快能完成的回滚工作却耗时很久。数据库非常庞大,恢复备份相当慢。

下午三点,王国恢复,游戏也已还原。网站数据库的恢复耗时更长(网站一直停机到新西兰中部时间下午四点半)。

经过调查,我们发现崩溃是一个非常简单的缺陷造成的。添加判别器前,表示帐户名长度的常量仍然使用了一个旧值。如果玩家的账户名长度超过 27 个字符,尝试将账户名复制到账户会话时就会出现异常。这本身不应该导致运行错误,但发生在代码库中设计为无异常的区域,就导致整个程序崩溃。

这个错误本身已经得到了修复,我们也修改了代码,以更有效地防止异常发生。不过,我们决定将补丁的重新部署推迟到新西兰中部时间星期一。很明显,我们需要对这次部署进行新一轮的质量保证,以确保我们已经发现了所有的角落案例,然后才能放心地再次部署。

这不是 Grinding Gear Games 所期望提供的服务水平,我们对延长停机时间深表歉意。

游戏背景

诞生于 2013 年的《流放之路》,冲进过 steam 热门游戏前五,拿到过 GameSpot 年度最佳 PC 游戏的殊荣。过去的十年时间里,它走过了 26 个赛季,每赛季都有高质量的新玩法加入;随着版本更新,平均在线人数越来越多。

image.png

上千种天赋,多样化的职业、技能宝石与装备,意味着永远有活可整、永远可以变废为宝。以物易物的交易系统,也是维持着游戏长期平稳运转的重要因素。尽管游戏设定复杂,新手也不用担心入门困难,因为官网会提供大量模版资源,各种社区和论坛中也可以找到很多资料。

image.png

网友评论

reddit 网友没有错过这场事故。在流放之路专区的这篇报道帖,一个月来有 364 条评论热议此事。

image.png

假如他们在周五傍晚做这次迁移,一切就可以萌混过关。

rmflow

image.png

幸好数据没事,赞美游戏官方的实诚。我 30 年职业生涯中,就没怎么见过这么容易的事故。

TheTabman

image.png

谢谢你们的真诚 GGG,别裁员,意外就是会发生的 -- 当然我确实担心丢了东西。

IMDubzs

image.png

作为开发经常犯同样的错误,我被点了。

Qchaos

image.png

****

roselan

file

表示理解,这些工作确实是不好做的,GGG 已经处理得很好、对自己要求很高、很真诚了。希望他们别因为这事对自己太苛刻。

Goodnametaken

总结

读了一些评论,我们可以发现,大多数网友对此事表示谅解,因为游戏官方 GGG 确实很干净地处理好了这场事故 -- 没有造成太多损失、太长时间的停服,并且及时真诚地交代了整件事。

数据库意外确实让人头疼。希望所有数据库都能少出意外;即使出了意外,也尽量能容易解决。


💡 更多资讯,请关注 Bytebase 公号:Bytebase