好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
【事故】
【反省】
文档工作没有准备充足
没有提供详尽的文档而导致对方在操作的时候忽略了小跨服的服务类型,
对方可能忽略的地方要重点标注,
文档书写格式:1. 所选格式 text,word,excel,pdf (根据需求选择) 2. 文档说明 3. 文档版本号 4. 文档修改说明(文档更新改动要指明修改之处,原因)
沟通不足
沟通的结果是 1.建立信任 2.得到自己想要了解的情况 3. 确认对方已经了解自己的想法(对方是否真正明白怎么部署服务器了,当然也要通过对方的实际行动来判断对方的情况,并在对方出错的时候给予指正)
稍微大点的变动一定要通知相关人员,正式1 2 3 服的域名绑定到另一个ip上是个很重要的变动,如果当时能通过到朋飞的话,他改掉hosts文件也就没事了
【事故】
时间:正式开服第二天晚上12点左右
说明:cdn在正式开服第二天晚上因节点出故障而导致游戏资源无法下载,全部游戏无法进入
解决:cdn提供商连夜抢救cdn,5点左右修复好,凯华又打电话让我把之前cdn上的资源上传到新的cdn上,但之前的cdn又登陆不上,且cdn上的东西没有上传到svn上,导致一些文件找不到,
【反省】
建立规避风险的思维方式
这犯了个错误,相信别人提供的服务是完全ok的,而老司机的思维方式应该是规避一切能够避免的危险,1. 比如事前询问服务提供商的防灾措施是什么,2. 自己所做的容灾措施又是什么,3. 再比如服务提供商的故障导致的损失应该如何赔偿
相关的文件一定要备份,上传svn
【事故】
时间:正式开服第二天晚上12点左右
说明:因要修改游戏内微端下在的地址和md5值,修改了下载页,但json对象最后多了个逗号,自己测试的时候也没有测试错来,导致游戏不能进入
【反省】
这种影响全服的东西的修改一定要进行充分测试再放到正式的服上,向西游网那的一样,先在1服修改测试一下,没问题了再推全服的cdn
最开始的时候中心服是用php动态处理登陆请求的,而正确的方法是用这个php生成各服的登陆页,让后把这些页面推送到cdn上,但前期没明白登陆页是放在cdn上的,便采用的这种方式,这样再改到cdn的方式的话成本就更大了(有些东西越往后拖修改的成本就越大),还需要修改服务器上的相关链接啥的
【事故】
时间:第六次版本更新的时候的前一天晚上上传新的foa包的时候
说明:看着包名比较多,然后就顺手删除了一些(从上往下的删,误以为上边的日期比较久远,结果就把正在用的foa的包给删除掉了)
【反省】
【事故】
时间:五一的时候没啥活动了,要加开一个新年活动
说明:新年活动的配置文件的时间需要改,包括服务器端的和客户端的,但之前更新的时候服务器端的时候只是更新一个开关文件(因为服务器端的文件没有改动过),且好几次更新都是这样的,故就造成了惯性思维,导致这次的活动没有按时更新上。另一个原因是线上测试做的也做的不够充分,没有测试到指定时间活动是否能正常开放
【反省】
【事故】
时间:五一的时候没啥活动了,要加开一个新年活动
说明:活动结束后活动的图标就会消失,活动的结束时间是配的年月日时分秒,确定的是5月4号结束(包括4号),但程序却写成了到4号的0点就结束了,台湾那边的人还提醒我们上次活动的时候就提前结束了然后发了全服的补偿邮件,但我却没当一回事,导致的这次事故的发生
【事故】
时间:此功能更新之后
说明:此功能上线后存在几个问题,
1. 合过服的玩家不能领取召回他人的奖励,因为是做了错误的判断,
2. 玩家回归奖励可以被无限的刷,因为在服务端少了是否已经领取的判断
3. 16进制转10进制的时候出现类型溢出 pid = string.format("%d","0xe39cbce1"),因为之前没碰到这样的情况,也是编码经验不足,后来从网上搜了个安全的进制转换的方法
【反省】
【事故】
时间:二次合服时,就是合过服的再次合服
说明:在一次韩国合服的时候对方反应邮件全部丢失了,我第一反应就是因为之前合服时有主键重复导致不能合服的而做的预先删除的操作,之前是因为两个服都没有合过服的所以没出问题但是二次合服的时候问题就暴露了 $PG -h $host -p $port -Atc "delete from mail where sid%10 != $server" $db
而且这个本来就存在着隐患的,后来没处理,导致台湾的也出现了邮件被删除的事故
【反省】