线上事故总结

 2023-09-05 阅读 30 评论 0

摘要:  看了许多已经工作员工的线上事故处理总结,得出一个结论“每次线上事故都可能给公司带来巨大损失,每个看似微小的bug都可能是重大bug。” 所以,对待线上bug问题,我们要提前重视起来。虽说“人非圣贤,孰能无过”,软件是人编写的&

  看了许多已经工作员工的线上事故处理总结,得出一个结论“每次线上事故都可能给公司带来巨大损失,每个看似微小的bug都可能是重大bug。”
所以,对待线上bug问题,我们要提前重视起来。虽说“人非圣贤,孰能无过”,软件是人编写的,难免都会出现问题,而我们要做的就是尽量避免问题出现,或者是避免出现重复问题。

问题描述:
  从别人口中听说***一天得分好几百,再想想自己,一天能得到50分都不容易。最开始没在意,后来又有此消息传出,一打听才是到,原来加速卡使用出现了bug!!!(这不是我的功能吗?要出事!)
紧接着,此bug又被其他人利用。修复线上问题,变得迫不及待。

发现问题
  大米积分,每日通过考勤,禅道,互相加分,借书等方式获取积分,为了增加趣味性,系统中加入了“加速卡,乌龟卡”的游戏元素。
该卡使用规则(以加速卡为例):使用加速卡,在每日得分的基础上,再额外获得0.2倍的积分。
  例如:今日的分:100,使用卡后得分120;
  开发完成之后,由于测试疏忽,没有想到同一天使用多张卡的情况
  例如:今日得分:100,使用2张卡后:100+1000.2+1200.2=148
  如果使用的卡少可能看不出来什么问题,但是,如果同一个人,同一  天使用了几十张卡,那将是一大笔积分
  刚好。这个漏洞被***等***的火眼晶晶察觉了。。。
  然后就开始了紧急的维护!
  经过问题描述,和代码排查,发现了问题所在:
  使用加速卡规则和算分的时候出现的漏洞。
  1.没有进行单个人使用卡的数量限制,这样导致,同一个人一次可以买多张卡,然后给同一个人用
  2.也没有进行卡的有效开始,结束日期的判断。

解决问题:
  修复完之后的额场景:
  a.买卡时:
    a1.取消选择买卡数量功能(默认只能买一张)就。
    a2.往库里插入一条数据,用is_use=0字段来标识该卡状态(0:买了没用,1:用了,还没开始算分,2:已经使用且算分成功)
    a3.记录该卡的开始使用时间和结束使用时间
  b.使用卡时候:
  如果多个人,给同一个人用卡,则卡的开始使用时间和结束使用时间都将往后顺延,
比如:王志程 被使用加速卡 1月1号-1月2号,此时陈新月又给我使用卡,则新月买的卡,时间为1月3到1月4
  更新库中 is_use字段为1.等待定时器触发加分。
  c.定时器触发算分:
  定时器去库中查,卡使用结束时间为今天的用户,为其加分。

总结问题:
  已经找到问题,并且解决问题。
  通过这件事,深刻的知道了测试的重要性,不能想当然,自己的开发,自己测试,甚至开发组内测试,这是远远不够的。
当然,我们也需要养成全面思考问题的习惯。
此外,更要站在用户的角度去思考问题。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/1377.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息