关于线上事故的一些碎碎念

12年的项目经理


在3年前的时候,我在浪潮负责一个几个亿的业务。但是系统做的很烂。

和我交接的是一个12年工作经验的项目经理。

 

刚入职项目经理就给我一个工作任务,让我处理XX问题。然后给了我一个文档。

我操作了一下,看不懂。

项目经理:你怎么就看不懂呢?你说说,哪个地方看不懂?

我也不知道为什么,那天就非要和项目经理对着干:我一个字都看不懂。

项目经理:那为什么我能看得懂?我对你非常的失望。

 

在1个周以后,用户给了一个需求,需要往生产环境写入一份数据。

这个能看得懂的项目经理就瞧不上我(这个工作应该我处理),然后他就往数据库写入了数据。

结果喜闻乐见:线上事故,给用户导出的数据差了几百万。(差了一个鱼皮公司的总资产)

 

然后:甲方是腾讯云的,往死里call项目经理的电话。

那个项目经理痛苦的说:我5天就睡了8个小时。你不理解我,你能不能给我分担点工作量?

 


问题解决


后来是怎么解决的呢,是我解决的。

 

项目经理他5天睡了8小时,拉着我加班。周六加班还不给加班费。

烦得要死,我说我给你定位下。花了2天时间给他定位了故障原因:他导入数据的时候用的是excel,导入错了。

导入了204条数据,这个项目经理错了15条。查一下diff就行了。

 

这个事情再也没让项目经理插手。

 


复盘


后来复盘这个线上事故的时候,他是这么说的:

  1. 懂业务的运维离职了,然后离职之前和他交接了一下;他不懂业务很正常

线上事故之前你可不是这么说的啊,我可记得很清楚:他看得懂、能处理,对我很失望;

等着出了线上事故的时候你立马转变态度。

 

我也理解他的说法:

  1. 你不接吧,用户投诉不处理扣绩效;处理了吧能力又不够,改了就线上事故
  2. 出了线上事故是想敢作敢当来着,敢作敢当直接下岗。在浪潮干了12年了,突然就没了

公司一年所有人工资也不到500W啊,你搞个500W的事故是啥意思……

 

我觉得在这个情况下,大概率人性是经不起考验的;

 


线上数据修改


后来有一次,用户要求改数据。改数据也正常业务,我立刻处理。

写sql但是没保证原子性。先改的A表后改的B表。数据迁移的时候就会出现不一致

修改的数据量很大,没法保证事务。

 

用户当场投诉电话就过来了。项目经理当场就把我卖了。然后就开始问责。

 

项目经理他懂个X的原子性,线上用户管你是在数据迁移还是什么,反正用户觉得有问题直接一个电话到项目经理那边。项目经理也不可能大包大揽,直接问责是最正常不过的。

 

后来,我就永远不在白天进行任何线上操作。

只要在线上进行敏感操作,用户就会出现线上恐慌;恐慌了以后就会投诉,投诉就背锅。

 

你线上刷数据?可以,明天。

今天不行嘛?今天不行?

很急?很急也不行。

我投诉到项目经理那边?投诉就投诉。

 

线上数据修改,大部分情况下都不急;但是出了问题就立刻升级。

 


线上问题


  1. 我自己导致的,把全省的机房设备都发给枣庄了,where条件没带id
  2. 这个环境因为某个菜鸟写的垃圾程序崩溃了,导致了整个环境1天不可用
  3. 在处理这个bug的时候引入了一个新的bug,导致整个环境又崩了
  4. 然后也不知道为什么,hadoop主节点挂了起不来,7天没修复

 

这玩意故障率还挺高……而且修起来都挺吓人

 


总结


  1. 默认项目经理是不懂技术的,他提的需求是有可能不可实现的;项目经理和pm说他懂业务,他懂个X的业务;出现线上事故,基本上项目经理和pm没有背锅的逻辑,都是直接分黑锅
  2. 宁肯得罪领导,也不能在线上环境上做敏感和不可逆的操作;付费和敏感业务。层层确认,测试环境确认,领导确认,用户确认,甲方确认。而且在晚上没人的时候进行操作,保证出了问题以后留时间余量
  3. 线上环境能不动就不动,线上事故出问题,之前多大功劳一笔勾销。


0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
青碧凝霜
下载 APP